public AtomExtensionEventArgs(AtomBaseElement readingElement, XmlReader reader) { if (reader.NodeType != XmlNodeType.Attribute && reader.NodeType != XmlNodeType.Element) { throw new InvalidOperationException("The reader must be positioned on start element node or attribute node when initializing AtomExtensionEventArgs."); } _readingElement = readingElement; if (_doc == null) { _doc = new XmlDocument(); } _extensionNode = _doc.ReadNode(reader); }
protected virtual Uri ReadID(XmlReader reader, AtomBaseElement readingElement) { if (reader.NodeType != XmlNodeType.Element) { throw new InvalidOperationException(); } Uri id; using (XmlReader idReader = reader.ReadSubtree()) { idReader.MoveToContent(); while (idReader.MoveToNextAttribute()) { if ((object)idReader.NamespaceURI != _nameTable.NamespaceUriXmlns) { RaiseExtensionEvent(readingElement, idReader); } } idReader.MoveToContent(); string iriString = idReader.ReadString(); id = new Uri(iriString, UriKind.Absolute); while (idReader.Read()) { } } return id; }
protected void RaiseExtensionEvent(AtomBaseElement readingElement, XmlReader reader) { AtomExtensionEventHandler temp = _readExtensionDelegate; if (temp != null) { AtomExtensionEventArgs e = new AtomExtensionEventArgs(readingElement, reader); temp(this, e); } else { if (reader.NodeType == XmlNodeType.Element) { using (XmlReader subReader = reader.ReadSubtree()) { while (subReader.Read()); } } } }
public AtomExtensionEventArgs(AtomBaseElement readingElement, XmlNode extensionNode) : base() { _readingElement = readingElement; _extensionNode = extensionNode; }