Example #1
0
        public void BasicTest()
        {
            XmlReader r = new XmlBaseAwareXmlReader("../../Common/XmlBaseAwareXmlReaderTests/test.xml");

            while (r.Read())
            {
                if (r.NodeType == XmlNodeType.Element)
                {
                    switch (r.Name)
                    {
                    case "catalog":
                        Assert.IsTrue(r.BaseURI.EndsWith("XmlBaseAwareXmlReaderTests/test.xml"));
                        break;

                    case "files":
                        Assert.IsTrue(r.BaseURI == "file:///d:/Files/");
                        break;

                    case "file":
                        Assert.IsTrue(r.BaseURI == "file:///d:/Files/");
                        break;

                    case "a":
                        Assert.IsTrue(r.BaseURI.EndsWith("XmlBaseAwareXmlReaderTests/test.xml"));
                        break;

                    case "b":
                        Assert.IsTrue(r.BaseURI == "file:///d:/Files/a/");
                        break;

                    case "c":
                        Assert.IsTrue(r.BaseURI == "file:///d:/Files/c/");
                        break;

                    case "e":
                        Assert.IsTrue(r.BaseURI == "file:///d:/Files/c/");
                        break;

                    case "d":
                        Assert.IsTrue(r.BaseURI == "file:///d:/Files/a/");
                        break;
                    }
                }
                else if (r.NodeType == XmlNodeType.Text && r.Value.Trim() != "")
                {
                    Assert.IsTrue(r.BaseURI == "file:///d:/Files/c/");
                }
                else if (r.NodeType == XmlNodeType.Comment)
                {
                    Assert.IsTrue(r.BaseURI == "file:///d:/Files/a/");
                }
                else if (r.NodeType == XmlNodeType.ProcessingInstruction)
                {
                    Assert.IsTrue(r.BaseURI == "file:///d:/Files/");
                }
            }
            r.Close();
        }
Example #2
0
        public void ReaderWithPath()
        {
            XmlReaderSettings settings = new XmlReaderSettings();

            settings.IgnoreWhitespace = true;
            XmlReader         r   = new XmlBaseAwareXmlReader("../../Common/XmlBaseAwareXmlReaderTests/relativeTest.xml");
            XPathDocument     doc = new XPathDocument(r);
            XPathNavigator    nav = doc.CreateNavigator();
            XPathNodeIterator ni  = nav.Select("/catalog");

            ni.MoveNext();
            Assert.IsTrue(ni.Current.BaseURI.EndsWith("/XmlBaseAwareXmlReaderTests/relativeTest.xml"));
            ni = nav.Select("/catalog/relative/relativenode");
            ni.MoveNext();
            Console.WriteLine(ni.Current.BaseURI);
            Assert.IsTrue(ni.Current.BaseURI.IndexOf("/XmlBaseAwareXmlReaderTests/") != -1);
        }