public void Style( [ArgRequired, ArgExistingFile, ArgDescription("Full path to .xml file (mandatory)")] string xml, [ArgRequired, ArgExistingFile, ArgDescription("Full path to .xslt file (stylesheet) (mandatory)")] string stylesheet, [ArgDescription("Full path to output file (optional)")] string output) { var transformers = new List <IXsltTransformer> { new XslCompiledTransformer() }; #if SAXONSUPPORT transformers.Add(new SaxonTransformer()); #endif IXsltTransformer xsltTransformer = new XsltTransformerSelector(transformers.ToArray()); XsltFileProvider xsltFileProvider = null; try { xsltFileProvider = new XsltFileProvider(stylesheet); } catch (Exception e) { Console.WriteLine($"When loading stylesheet {stylesheet} -> {e.Message}"); Environment.Exit(1); } try { xsltTransformer.Transform(xsltFileProvider, xml, output ?? CreateOuputFilePathFromInputFilePath(xml, "html", "")); } catch (Exception e) { Console.WriteLine($"When styling {xml} -> {e.Message}"); Environment.Exit(1); } }
public void StyleAll( [ArgRequired, ArgExistingDirectory, ArgDescription("Full path to directory containing xml files (mandatory)")] string dir, [ArgRequired, ArgExistingFile, ArgDescription("Full path to .xslt file (stylesheet) (mandatory)")] string stylesheet, [ArgExistingDirectory, ArgDescription("Full path to output directory (optional)")] string output) { var transformers = new List <IXsltTransformer> { new XslCompiledTransformer() }; #if SAXONSUPPORT transformers.Add(new SaxonTransformer()); #endif IXsltTransformer xsltTransformer = new XsltTransformerSelector(transformers.ToArray()); XsltFileProvider xsltFileProvider = null; try { xsltFileProvider = new XsltFileProvider(stylesheet); } catch (Exception e) { Console.WriteLine($"When loading stylesheet {stylesheet} -> {e.Message}"); Environment.Exit(1); } if (string.IsNullOrEmpty(output)) { output = dir; } foreach (var xml in Directory.EnumerateFiles(dir, "*.xml")) { try { var outFile = Path.Combine(output, $"{Path.GetFileNameWithoutExtension(xml)}.html"); xsltTransformer.Transform(xsltFileProvider, xml, outFile); } catch (Exception e) { Console.WriteLine($"When styling {xml} -> {e.Message}"); Environment.Exit(1); } } }