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; } } }
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; }