[Test]
public void GetElementsByTagNameNs2 ()
{
- document.LoadXml (@"<root>\r
- <x:a xmlns:x='urn:foo' id='a'>\r
- <y:a xmlns:y='urn:foo' id='b'/>\r
- <x:a id='c' />\r
- <z id='d' />\r
- text node\r
- <?a processing instruction ?>\r
- <x:w id='e'/>\r
- </x:a>\r
- </root>");\r
- // id='b' has different prefix. Should not caught by (name),\r
- // while should caught by (name, ns).\r
- XmlNodeList nl = document.GetElementsByTagName ("x:a");\r
- AssertEquals (2, nl.Count);\r
- AssertEquals ("a", nl [0].Attributes ["id"].Value);\r
- AssertEquals ("c", nl [1].Attributes ["id"].Value);\r
-
- nl = document.GetElementsByTagName ("a", "urn:foo");\r
- AssertEquals (3, nl.Count);\r
- AssertEquals ("a", nl [0].Attributes ["id"].Value);\r
- AssertEquals ("b", nl [1].Attributes ["id"].Value);\r
- AssertEquals ("c", nl [2].Attributes ["id"].Value);\r
+ document.LoadXml (@"<root>
+ <x:a xmlns:x='urn:foo' id='a'>
+ <y:a xmlns:y='urn:foo' id='b'/>
+ <x:a id='c' />
+ <z id='d' />
+ text node
+ <?a processing instruction ?>
+ <x:w id='e'/>
+ </x:a>
+ </root>");
+ // id='b' has different prefix. Should not caught by (name),
+ // while should caught by (name, ns).
+ XmlNodeList nl = document.GetElementsByTagName ("x:a");
+ AssertEquals (2, nl.Count);
+ AssertEquals ("a", nl [0].Attributes ["id"].Value);
+ AssertEquals ("c", nl [1].Attributes ["id"].Value);
+
+ nl = document.GetElementsByTagName ("a", "urn:foo");
+ AssertEquals (3, nl.Count);
+ AssertEquals ("a", nl [0].Attributes ["id"].Value);
+ AssertEquals ("b", nl [1].Attributes ["id"].Value);
+ AssertEquals ("c", nl [2].Attributes ["id"].Value);
// name wildcard
- nl = document.GetElementsByTagName ("*");\r
- AssertEquals (6, nl.Count);\r
- AssertEquals ("root", nl [0].Name);\r
- AssertEquals ("a", nl [1].Attributes ["id"].Value);\r
- AssertEquals ("b", nl [2].Attributes ["id"].Value);\r
- AssertEquals ("c", nl [3].Attributes ["id"].Value);\r
- AssertEquals ("d", nl [4].Attributes ["id"].Value);\r
- AssertEquals ("e", nl [5].Attributes ["id"].Value);\r
+ nl = document.GetElementsByTagName ("*");
+ AssertEquals (6, nl.Count);
+ AssertEquals ("root", nl [0].Name);
+ AssertEquals ("a", nl [1].Attributes ["id"].Value);
+ AssertEquals ("b", nl [2].Attributes ["id"].Value);
+ AssertEquals ("c", nl [3].Attributes ["id"].Value);
+ AssertEquals ("d", nl [4].Attributes ["id"].Value);
+ AssertEquals ("e", nl [5].Attributes ["id"].Value);
// wildcard - local and ns
- nl = document.GetElementsByTagName ("*", "*");\r
- AssertEquals (6, nl.Count);\r
- AssertEquals ("root", nl [0].Name);\r
- AssertEquals ("a", nl [1].Attributes ["id"].Value);\r
- AssertEquals ("b", nl [2].Attributes ["id"].Value);\r
- AssertEquals ("c", nl [3].Attributes ["id"].Value);\r
- AssertEquals ("d", nl [4].Attributes ["id"].Value);\r
- AssertEquals ("e", nl [5].Attributes ["id"].Value);\r
+ nl = document.GetElementsByTagName ("*", "*");
+ AssertEquals (6, nl.Count);
+ AssertEquals ("root", nl [0].Name);
+ AssertEquals ("a", nl [1].Attributes ["id"].Value);
+ AssertEquals ("b", nl [2].Attributes ["id"].Value);
+ AssertEquals ("c", nl [3].Attributes ["id"].Value);
+ AssertEquals ("d", nl [4].Attributes ["id"].Value);
+ AssertEquals ("e", nl [5].Attributes ["id"].Value);
// namespace wildcard - namespace
- nl = document.GetElementsByTagName ("*", "urn:foo");\r
- AssertEquals (4, nl.Count);\r
- AssertEquals ("a", nl [0].Attributes ["id"].Value);\r
- AssertEquals ("b", nl [1].Attributes ["id"].Value);\r
- AssertEquals ("c", nl [2].Attributes ["id"].Value);\r
- AssertEquals ("e", nl [3].Attributes ["id"].Value);\r
+ nl = document.GetElementsByTagName ("*", "urn:foo");
+ AssertEquals (4, nl.Count);
+ AssertEquals ("a", nl [0].Attributes ["id"].Value);
+ AssertEquals ("b", nl [1].Attributes ["id"].Value);
+ AssertEquals ("c", nl [2].Attributes ["id"].Value);
+ AssertEquals ("e", nl [3].Attributes ["id"].Value);
// namespace wildcard - local only. I dare say, such usage is not XML-ish!
- nl = document.GetElementsByTagName ("a", "*");\r
- AssertEquals (3, nl.Count);\r
- AssertEquals ("a", nl [0].Attributes ["id"].Value);\r
- AssertEquals ("b", nl [1].Attributes ["id"].Value);\r
- AssertEquals ("c", nl [2].Attributes ["id"].Value);\r
+ nl = document.GetElementsByTagName ("a", "*");
+ AssertEquals (3, nl.Count);
+ AssertEquals ("a", nl [0].Attributes ["id"].Value);
+ AssertEquals ("b", nl [1].Attributes ["id"].Value);
+ AssertEquals ("c", nl [2].Attributes ["id"].Value);
}
[Test]
[Test]
public void LoadEntityReference ()
{
- string xml = "<!DOCTYPE root [<!ELEMENT root (#PCDATA)*><!ENTITY ent 'val'>]><root attr='a &ent; string'>&ent;</root>";\r
- XmlTextReader xtr = new XmlTextReader (xml, XmlNodeType.Document, null);\r
- XmlDocument doc = new XmlDocument ();\r
- doc.Load (xtr);\r
- AssertEquals ("#text node", XmlNodeType.EntityReference, \r
- doc.DocumentElement.FirstChild.NodeType);\r
- AssertEquals ("#attribute", XmlNodeType.EntityReference, \r
- doc.DocumentElement.Attributes [0].ChildNodes [1].NodeType);\r
+ string xml = "<!DOCTYPE root [<!ELEMENT root (#PCDATA)*><!ENTITY ent 'val'>]><root attr='a &ent; string'>&ent;</root>";
+ XmlTextReader xtr = new XmlTextReader (xml, XmlNodeType.Document, null);
+ XmlDocument doc = new XmlDocument ();
+ doc.Load (xtr);
+ AssertEquals ("#text node", XmlNodeType.EntityReference,
+ doc.DocumentElement.FirstChild.NodeType);
+ AssertEquals ("#attribute", XmlNodeType.EntityReference,
+ doc.DocumentElement.Attributes [0].ChildNodes [1].NodeType);
}
[Test]
public void ReadNodeEmptyContent ()
{
- XmlTextReader xr = new XmlTextReader ("", XmlNodeType.Element, null);\r
- xr.Read ();\r
- Console.WriteLine (xr.NodeType);\r
- XmlNode n = document.ReadNode (xr);\r
- AssertNull (n);\r
+ XmlTextReader xr = new XmlTextReader ("", XmlNodeType.Element, null);
+ xr.Read ();
+ Console.WriteLine (xr.NodeType);
+ XmlNode n = document.ReadNode (xr);
+ AssertNull (n);
}
[Test]
public void ReadNodeWhitespace ()
{
- XmlTextReader xr = new XmlTextReader (" ", XmlNodeType.Element, null);\r
- xr.Read ();\r
- Console.WriteLine (xr.NodeType);\r
+ XmlTextReader xr = new XmlTextReader (" ", XmlNodeType.Element, null);
+ xr.Read ();
+ Console.WriteLine (xr.NodeType);
document.PreserveWhitespace = false; // Note this line.
- XmlNode n = document.ReadNode (xr);\r
- AssertNotNull (n);\r
- AssertEquals (XmlNodeType.Whitespace, n.NodeType);\r
+ XmlNode n = document.ReadNode (xr);
+ AssertNotNull (n);
+ AssertEquals (XmlNodeType.Whitespace, n.NodeType);
}
[Test]