コード例 #1
0
        XpsSchemaValidator(
            XpsValidatingLoader loader,
            XpsSchema schema,
            ContentType mimeType,
            Stream objectStream,
            Uri packageUri,
            Uri baseUri
            )
        {
            XmlTextReader xmlTextReader = new XmlEncodingEnforcingTextReader(objectStream);

            xmlTextReader.ProhibitDtd   = true;
            xmlTextReader.Normalization = true;

            XmlReader xmlReader = xmlTextReader;

            string [] predefinedNamespaces = _predefinedNamespaces;
            if (!string.IsNullOrEmpty(schema.RootNamespaceUri))
            {
                predefinedNamespaces    = new string[_predefinedNamespaces.Length + 1];
                predefinedNamespaces[0] = schema.RootNamespaceUri;
                _predefinedNamespaces.CopyTo(predefinedNamespaces, 1);
            }

            xmlReader = new XmlCompatibilityReader(xmlReader, predefinedNamespaces);
            xmlReader = XmlReader.Create(xmlReader, schema.GetXmlReaderSettings());

            if (schema.HasUriAttributes(mimeType) && packageUri != null && baseUri != null)
            {
                xmlReader = new RootXMLNSAndUriValidatingXmlReader(loader, schema,
                                                                   xmlReader, packageUri, baseUri);
            }
            else
            {
                xmlReader = new RootXMLNSAndUriValidatingXmlReader(loader, schema, xmlReader);
            }

            _compatReader = xmlReader;
        }
コード例 #2
0
ファイル: FixedSchema.cs プロジェクト: sjyanxin/WPFSource
        XpsSchemaValidator(
            XpsValidatingLoader loader, 
            XpsSchema schema, 
            ContentType mimeType,
            Stream  objectStream, 
            Uri packageUri,
            Uri baseUri
            )
        { 
            XmlTextReader xmlTextReader = new XmlEncodingEnforcingTextReader(objectStream);
 
            xmlTextReader.ProhibitDtd = true; 
            xmlTextReader.Normalization = true;
 
            XmlReader xmlReader = xmlTextReader;

            string [] predefinedNamespaces = _predefinedNamespaces;
            if ( !string.IsNullOrEmpty(schema.RootNamespaceUri) ) 
            {
                predefinedNamespaces = new string[_predefinedNamespaces.Length + 1]; 
                predefinedNamespaces[0] = schema.RootNamespaceUri; 
                _predefinedNamespaces.CopyTo(predefinedNamespaces, 1);
            } 

            xmlReader = new XmlCompatibilityReader(xmlReader, predefinedNamespaces);
            xmlReader = XmlReader.Create(xmlReader, schema.GetXmlReaderSettings());
 
            if (schema.HasUriAttributes(mimeType) && packageUri != null && baseUri != null)
            { 
                xmlReader = new RootXMLNSAndUriValidatingXmlReader(loader, schema, 
                                                        xmlReader, packageUri, baseUri);
            } 
            else
            {
                xmlReader = new RootXMLNSAndUriValidatingXmlReader(loader, schema, xmlReader);
            } 

            _compatReader = xmlReader; 
        }