Exemplo n.º 1
0
        public override IXPathNavigable CreateNodeReadOnly(TextReader input, XmlParsingOptions options)
        {
            options = options ?? new XmlParsingOptions();

            XmlReaderSettings settings = (XmlReaderSettings)options;

            XmlReader reader = (options.BaseUri != null) ?
                               XmlReader.Create(input, settings, options.BaseUri.AbsoluteUri)
            : XmlReader.Create(input, settings);

            return(CreateNodeReadOnly(reader));
        }
Exemplo n.º 2
0
            public override IXdmEnumerator Call(IXdmEnumerator[] arguments, DynamicContext context)
            {
                string xml = arguments[0].AsAtomicValues().Single().ToString();

                var parseOptions = new XmlParsingOptions {
                    ConformanceLevel = ConformanceLevel.Document,
                    BaseUri          = new Uri("", UriKind.Relative) // Saxon requires a base URI
                };

                using (var reader = new StringReader(xml)) {
                    return(this.itemFactory.CreateNodeReadOnly(reader, parseOptions)
                           .ToXdmNode(this.itemFactory)
                           .GetXdmEnumerator());
                }
            }
Exemplo n.º 3
0
        static object parse_xml_impl(object arg, bool fragment)
        {
            string str = ExtensionObjectConvert.ToString(arg);

            if (str == null)
            {
                return(ExtensionObjectConvert.EmptyIterator);
            }

            var parseOptions = new XmlParsingOptions {
                ConformanceLevel = (fragment) ?
                                   ConformanceLevel.Fragment
               : ConformanceLevel.Document
            };

            var itemFactory = new SystemItemFactory();

            using (var reader = new StringReader(str)) {
                return(ExtensionObjectConvert.ToInput(itemFactory.CreateNodeReadOnly(reader, parseOptions)));
            }
        }
Exemplo n.º 4
0
        DocumentBuilder CreateDocumentBuilder(XmlParsingOptions options)
        {
            DocumentBuilder docb = this.defaultDocBuilder;

            if (options != null)
            {
                docb = this.processor.NewDocumentBuilder();

                if (options.BaseUri != null)
                {
                    docb.BaseUri = options.BaseUri;
                }

                if (options.XmlResolver != null)
                {
                    docb.XmlResolver = options.XmlResolver;
                }

                docb.DtdValidation = options.PerformDtdValidation;
            }

            return(docb);
        }
Exemplo n.º 5
0
 public override IXPathNavigable CreateNodeReadOnly(TextReader input, XmlParsingOptions options)
 {
     return(CreateDocumentBuilder(options).Build(input).ToXPathNavigable());
 }
Exemplo n.º 6
0
      public override IXPathNavigable CreateNodeReadOnly(TextReader input, XmlParsingOptions options) {

         options = options ?? new XmlParsingOptions();

         XmlReaderSettings settings = (XmlReaderSettings)options;

         XmlReader reader;

         if (options.BaseUri != null)
            reader = XmlReader.Create(input, settings, options.BaseUri.AbsoluteUri);
         else
            reader = XmlReader.Create(input, settings);

         return CreateNodeReadOnly(reader);
      }