public virtual id InitWithKind(NSXMLNodeKind kind, uint options) { id self = this.Init(); /* * Check whether we are already initializing an instance of the given * subclass. If we are not, release ourselves and allocate a subclass * instance instead. */ switch(kind) { case NSXMLNodeKind.NSXMLDocumentKind: if (self.IsKindOfClass(NSXMLDocument.Class) == false) { self = NSXMLDocument.Alloc().Init(); } break; case NSXMLNodeKind.NSXMLElementKind: if ((options & 0x800004) == 0) { if (self.IsKindOfClass(NSXMLElement.Class) == false) { self = NSXMLElement.Alloc().Init(); } } else { if (self.IsKindOfClass(NSXMLFidelityElement.Class) == false) { self = NSXMLFidelityElement.Alloc().Init(); ((NSXMLFidelityElement)self).SetFidelity(options); } } break; case NSXMLNodeKind.NSXMLAttributeKind: if ((options & 0x8c00008) == 0) { if (self.IsKindOfClass(NSXMLNamedNode.Class) == false) { self = NSXMLNamedNode.Alloc().InitWithKind(kind); } } else { if (self.IsKindOfClass(NSXMLNamedFidelityNode.Class) == false) { self = NSXMLNamedFidelityNode.Alloc().InitWithKind(kind); ((NSXMLNamedFidelityNode)self).SetFidelity(options); } } break; case NSXMLNodeKind.NSXMLNamespaceKind: case NSXMLNodeKind.NSXMLProcessingInstructionKind: if ((options & 0x8 /*NSXMLNodeUseSingleQuotes*/) == 0) { if (self.IsKindOfClass(NSXMLNamedNode.Class) == false) { self = NSXMLNamedNode.Alloc().InitWithKind(kind); } } else { if (self.IsKindOfClass(NSXMLNamedFidelityNode.Class) == false) { self = NSXMLNamedFidelityNode.Alloc().InitWithKind(kind); ((NSXMLNamedFidelityNode)self).SetFidelity(options); } } break; case NSXMLNodeKind.NSXMLCommentKind: break; case NSXMLNodeKind.NSXMLTextKind: if ((options & 0x8400001) == 0) { this._SetKind(kind); } else { if (self.IsKindOfClass(NSXMLFidelityNode.Class) == false) { self = NSXMLFidelityNode.Alloc().InitWithKind(kind); ((NSXMLNamedFidelityNode)self).SetFidelity(options); } } break; case NSXMLNodeKind.NSXMLDTDKind: break; case NSXMLNodeKind.NSXMLEntityDeclarationKind: case NSXMLNodeKind.NSXMLElementDeclarationKind: case NSXMLNodeKind.NSXMLNotationDeclarationKind: if (self.IsKindOfClass(NSXMLDTDNode.Class) == false) { //self = NSXMLFidelityNode.Alloc().InitWithKind(kind); } break; case NSXMLNodeKind.NSXMLAttributeDeclarationKind: if (self.IsKindOfClass(NSXMLAttributeDeclaration.Class) == false) { self = null; } break; default: break; } return self; }
public virtual void _SetKind(NSXMLNodeKind kind) { _kind = kind; }
public virtual id InitWithKind(NSXMLNodeKind kind) { return this.InitWithKind(kind, 0); }