public void XPathDocumentMoveToId () { string dtd = "<!DOCTYPE root [<!ELEMENT root EMPTY><!ATTLIST root id ID #REQUIRED>]>"; string xml = dtd + "<root id='aaa'/>"; XPathNavigator nav = navigator = XDocument.Parse (xml).CreateNavigator (); Assert.IsTrue (nav.MoveToId ("aaa"), "ctor() from TextReader"); XmlValidatingReader xvr = new XmlValidatingReader (xml, XmlNodeType.Document, null); nav = new XPathDocument (xvr).CreateNavigator (); nav.MoveToId ("aaa"); // it does not support this method }
public void XPathDocumentMoveToId () { string dtd = "<!DOCTYPE root [<!ELEMENT root EMPTY><!ATTLIST root id ID #REQUIRED>]>"; string xml = dtd + "<root id='aaa'/>"; StringReader sr = new StringReader (xml); XPathNavigator nav = new XPathDocument (sr).CreateNavigator (); Assert.IsTrue (nav.MoveToId ("aaa"), "ctor() from TextReader"); XmlValidatingReader xvr = new XmlValidatingReader (xml, XmlNodeType.Document, null); nav = new XPathDocument (xvr).CreateNavigator (); Assert.IsTrue (nav.MoveToId ("aaa"), "ctor() from XmlValidatingReader"); // FIXME: it seems to result in different in .NET 2.0. }
public void XPathDocumentMoveToId () { string dtd = "<!DOCTYPE root [<!ELEMENT root EMPTY><!ATTLIST root id ID #REQUIRED>]>"; string xml = dtd + "<root id='aaa'/>"; StringReader sr = new StringReader (xml); XPathNavigator nav = new XPathDocument (sr).CreateNavigator (); Assert ("ctor() from TextReader", nav.MoveToId ("aaa")); XmlValidatingReader xvr = new XmlValidatingReader (xml, XmlNodeType.Document, null); nav = new XPathDocument (xvr).CreateNavigator (); Assert ("ctor() from XmlValidatingReader", nav.MoveToId ("aaa")); // When it is XmlTextReader, XPathDocument fails. XmlTextReader xtr = new XmlTextReader (xml, XmlNodeType.Document, null); nav = new XPathDocument (xtr).CreateNavigator (); Assert ("ctor() from XmlTextReader", !nav.MoveToId ("aaa")); xtr.Close (); }