예제 #1
0
 public override void TreeToTreeTransform()
 {
     if (sourceDocument != null)
     {
         XdmNavigator           contextItem = sourceDocument.CreateNavigator();
         var                    documentSet = new DocumentSet(nameTable, stylesheet.InputSettings, schemaAware ? documentResolverSchemaAware : documentResolver, null, resourceResolver);
         DynamicContextSettings settings    = new DynamicContextSettings();
         settings.ContextItem = contextItem;
         settings.DocumentSet = documentSet;
         //DynamicContextSettings settings = new DynamicContextSettings { ContextItem = contextItem };
         using (XdmDocumentWriter writer = XdmDocumentWriter.Create())
         {
             stylesheet.ApplyTemplates(settings, writer);
             resultDocument = writer.Document;
         }
     }
     else
     {
         var documentSet = new DocumentSet(nameTable, stylesheet.InputSettings, documentResolver, null, resourceResolver);
         DynamicContextSettings settings = new DynamicContextSettings {
             DocumentSet = documentSet
         };
         XmlQualifiedName qname = new XmlQualifiedName("main");
         using (XdmDocumentWriter writer = XdmDocumentWriter.Create())
         {
             stylesheet.CallTemplate(qname, settings, writer);
             resultDocument = writer.Document;
         }
     }
 }
예제 #2
0
        public override void FileToFileTransform(Uri sourceUri, string resultFileLocation)
        {
            if (sourceUri != null)
            {
                using (XmlReader reader = XmlReader.Create(sourceUri.ToString(), schemaAware ? xmlReaderSettingsSchemaAware : xmlReaderSettings))
                {
                    document = new XdmDocument(reader, XmlSpace.Preserve);
                    reader.Close();
                }
                XdmNavigator           contextItem = document.CreateNavigator();
                var                    documentSet = new DocumentSet(nameTable, stylesheet.InputSettings, schemaAware ? documentResolverSchemaAware : documentResolver, null, resourceResolver);
                DynamicContextSettings settings    = new DynamicContextSettings();
                settings.ContextItem = contextItem;
                settings.DocumentSet = documentSet;
                //DynamicContextSettings settings = new DynamicContextSettings { ContextItem = contextItem };
                stylesheet.SerializationSettings.CloseOutput = true;
                TextWriter writer = new StreamWriter(resultFileLocation);
                stylesheet.ApplyTemplates(settings, writer);
                writer.Close();
            }
            else
            {
                var documentSet = new DocumentSet(nameTable, stylesheet.InputSettings, documentResolver, null, resourceResolver);
                DynamicContextSettings settings = new DynamicContextSettings {
                    DocumentSet = documentSet
                };
                stylesheet.SerializationSettings.CloseOutput = true;
                XmlQualifiedName qname  = new XmlQualifiedName("main");
                TextWriter       writer = new StreamWriter(resultFileLocation);
                stylesheet.CallTemplate(qname, settings, writer);
                writer.Close();
            }

            this.resultFile = resultFileLocation;
        }