예제 #1
0
        public XamlXmlParser(XmlReader xmlReader, XamlSchemaContext schemaContext, XamlXmlReaderSettings settings)
        {
            if (xmlReader == null)
            {
                throw new ArgumentNullException("xmlReader");
            }
            if (schemaContext == null)
            {
                throw new ArgumentNullException("schemaContext");
            }

            sctx          = schemaContext;
            this.settings = settings ?? new XamlXmlReaderSettings();

            // filter out some nodes.
            var xrs = new XmlReaderSettings()
            {
                CloseInput     = this.settings.CloseInput,
                IgnoreComments = true,
                IgnoreProcessingInstructions = true,
                IgnoreWhitespace             = xmlReader.Settings.IgnoreWhitespace,
            };

            r         = XmlReader.Create(xmlReader, xrs);
            line_info = r as IXmlLineInfo;
            xaml_namespace_resolver = new NamespaceResolver(r as IXmlNamespaceResolver);
        }
예제 #2
0
 public ValueSerializerContext(PrefixLookup prefixLookup, XamlSchemaContext schemaContext, IAmbientProvider ambientProvider)
 {
     if (prefixLookup == null)
     {
         throw new ArgumentNullException("prefixLookup");
     }
     if (schemaContext == null)
     {
         throw new ArgumentNullException("schemaContext");
     }
     prefix_lookup      = prefixLookup;
     namespace_resolver = new NamespaceResolver(prefix_lookup.Namespaces);
     type_resolver      = new XamlTypeResolver(namespace_resolver, schemaContext);
     sctx             = schemaContext;
     ambient_provider = ambientProvider;
 }
예제 #3
0
 public XamlTypeResolver(NamespaceResolver namespaceResolver, XamlSchemaContext schemaContext)
 {
     ns_resolver    = namespaceResolver;
     schema_context = schemaContext;
 }