protected override void ExecuteTask()
        {
            using (XmlReader InputStream = new XmlTextReader(this.XmlInputFilePath))
            {
                XPathDocument doc  = new XPathDocument(InputStream);
                XslTransform  xslt = new XslTransform();
                using (XmlReader XslStream = new XmlTextReader(this.XslTransformFilePath))
                {
                    xslt.Load(XslStream);
                    using (StreamWriter writer = new StreamWriter(this.OutputFilePath, this.Append, Encoding.UTF8))
                    {
                        XsltArgumentList xsltArgs = new XsltArgumentList();

                        // set the xslt parameters
                        foreach (XsltParameter parameter in Parameters)
                        {
                            if (IfDefined && !UnlessDefined)
                            {
                                Log(Level.Info, string.Format("Name {0}, NameSpaceUri {1}, Value {2}", parameter.ParameterName,
                                                              parameter.NamespaceUri, parameter.Value));
                                xsltArgs.AddParam(parameter.ParameterName,
                                                  parameter.NamespaceUri, parameter.Value);
                            }
                        }

                        MultiXmlTextWriter multiWriter = new MultiXmlTextWriter(writer);
                        multiWriter.Formatting = Formatting.Indented;
                        xslt.Transform(doc, xsltArgs, multiWriter);
                    }
                }
            }
        }
示例#2
0
        protected override void ExecuteTask()
        {
            XPathDocument doc = new XPathDocument(this.XmlInputFilePath);
            XslTransform xslt = new XslTransform();
            xslt.Load(this.XslTransformFilePath);
            using (StreamWriter writer = new StreamWriter(this.OutputFilePath, this.Append, Encoding.UTF8))
            {
                XsltArgumentList xsltArgs = new XsltArgumentList();

                // set the xslt parameters
                foreach (XsltParameter parameter in Parameters)
                {
                    if (IfDefined && !UnlessDefined)
                    {
                        Log(Level.Info, string.Format("Name {0}, NameSpaceUri {1}, Value {2}", parameter.ParameterName,
                            parameter.NamespaceUri, parameter.Value));
                        xsltArgs.AddParam(parameter.ParameterName,
                            parameter.NamespaceUri, parameter.Value);
                    }
                }

                MultiXmlTextWriter multiWriter = new MultiXmlTextWriter(writer);
                multiWriter.Formatting = Formatting.Indented;
                xslt.Transform(doc, xsltArgs, multiWriter);
            }
        }