Beispiel #1
0
            public void TransformsValidXml()
            {
                var output = XslTransformer.Transform(validXml, validXsl);

                Assert.True(output.IsSuccessful);
                Assert.Equal(output.Result, "Lorem Ipsum");
            }
        public void ShouldTransformData()
        {
            string input   = TestData.LogFileContents;
            string xslfile = TempFileUtil.CreateTempXmlFile(TestFolder, "samplestylesheet.xsl", TestData.StyleSheetContents);

            string output = new XslTransformer().Transform(input, xslfile, null);

            Assert.IsNotNull(output);
            Assert.IsTrue(!String.Empty.Equals(output), "Transform returned no data");
        }
Beispiel #3
0
        public void Run(IIntegrationResult result)
        {
            foreach (FilePair Pair in this.FilePairs)
            {
                string XmlFilePath = Pair.XmlFile;
                if (!Path.IsPathRooted(XmlFilePath))
                {
                    XmlFilePath = Path.Combine(result.WorkingDirectory, XmlFilePath);
                }

                string XslFilePath = Pair.XslFile;
                if (!Path.IsPathRooted(XslFilePath))
                {
                    XslFilePath = Path.Combine(result.WorkingDirectory, XslFilePath);
                }

                string XslFileName = Path.GetFileName(XslFilePath);
                if (!File.Exists(XslFilePath))
                {
                    Log.Warning("File not Found: " + XslFileName);
                }

                WildCardPath Pattern = new WildCardPath(XmlFilePath);
                FileInfo[]   Files   = Pattern.GetFiles();
                foreach (FileInfo XmlFileInfo in Files)
                {
                    Log.Info(String.Format("Merging file {0} through {1}", XmlFileInfo, XslFileName));
                    if (XmlFileInfo.Exists)
                    {
                        string Data;
                        String Contents;
                        using (TextReader Reader = XmlFileInfo.OpenText())
                        {
                            Contents = Reader.ReadToEnd();
                        }
                        XslTransformer Transformer = new XslTransformer();

                        Dictionary <string, string> XslParms = new Dictionary <string, string>();
                        XslParms.Add("CCNetServer", this.DashboardServerName);
                        XslParms.Add("CCNetBuild", new LogFile(result).Filename);
                        XslParms.Add("CCNetProject", result.ProjectName);
                        XslParms.Add("XmlSourceName", Path.GetFileName(XmlFilePath));
                        XslParms.Add("XmlSourcePath", XmlFileInfo.FullName);

                        Data = Transformer.Transform(Contents, XslFilePath, XslParms);
                        result.AddTaskResult((new XslMergerTaskResult(Data)));
                    }
                    else
                    {
                        Log.Warning("File not Found: " + XmlFileInfo);
                    }
                }
            }
        }
        public void ShouldPassThroughXSLTArgs()
        {
            string input   = TestData.LogFileContents;
            string xslfile = TempFileUtil.CreateTempXmlFile(TestFolder, "samplestylesheet.xsl", TestData.StyleSheetContentsWithParam);

            Hashtable xsltArgs = new Hashtable();

            xsltArgs["myParam"] = "myValue";
            string output = new XslTransformer().Transform(input, xslfile, xsltArgs);

            Assert.IsTrue(output.IndexOf("myValue") > 0);
        }
Beispiel #5
0
        public void Run(IIntegrationResult result)
        {
            foreach (FilePair Pair in this.FilePairs)
            {
                string XmlFilePath = Pair.XmlFile;
                if (!Path.IsPathRooted(XmlFilePath))
                {
                    XmlFilePath = Path.Combine(result.WorkingDirectory, XmlFilePath);
                }

                string XslFilePath = Pair.XslFile;
                if (!Path.IsPathRooted(XslFilePath))
                {
                    XslFilePath = Path.Combine(result.WorkingDirectory, XslFilePath);
                }

                string XslFileName = Path.GetFileName(XslFilePath);
                if (!File.Exists(XslFilePath))
                {
                    Log.Warning("File not Found: " + XslFileName);
                }

                WildCardPath Pattern = new WildCardPath(XmlFilePath);
                FileInfo[]   Files   = Pattern.GetFiles();
                foreach (FileInfo XmlFileInfo in Files)
                {
                    Log.Info(String.Format("Merging file {0} through {1}", XmlFileInfo, XslFileName));
                    if (XmlFileInfo.Exists)
                    {
                        string Data;
                        String Contents;
                        using (TextReader Reader = XmlFileInfo.OpenText())
                        {
                            Contents = Reader.ReadToEnd();
                        }
                        XslTransformer Transformer = new XslTransformer();
                        Data = Transformer.Transform(Contents, XslFilePath);
                        result.AddTaskResult((new XslMergerTaskResult(Data)));
                    }
                    else
                    {
                        Log.Warning("File not Found: " + XmlFileInfo);
                    }
                }
            }
        }
        /// <summary>
        /// Transforms the results.
        /// </summary>
        /// <param name="xslFiles">The XSL files.</param>
        /// <param name="document">The document.</param>
        /// <returns></returns>
        /// <remarks></remarks>
        public string TransformResults(IList xslFiles, XPathDocument document)
        {
            StringBuilder builder = new StringBuilder();

            if (xslFiles == null)
            {
                return(builder.ToString());
            }

            XslTransformer transformer = new XslTransformer();

            foreach (string xslFile in xslFiles)
            {
                Log.Trace("Transforming using file : {0}", xslFile);
                builder.Append(transformer.TransformToXml(xslFile, document));
            }
            return(builder.ToString());
        }
        public void ExternalLinksHarvester_WithSampleXmlFile_ShouldExtractCorrectlyExternalLinks()
        {
            // Arrange
            const int ExpectedNumberOfExternalLinks          = 10;
            const int ExpectedNumberOfExternalLinksOfTypeDoi = 9;

            var xmlFileName = $"{ConfigurationManager.AppSettings["SampleFiles"]}/article-with-external-links.xml";
            var document    = new XmlDocument
            {
                PreserveWhitespace = true
            };

            document.Load(xmlFileName);

            var contextWrapper = new XmlContextWrapper();

            var deserializer = new XmlDeserializer();
            var serializer   = new XmlTransformDeserializer(deserializer);

            var xslCache    = new XslTransformCache();
            var transformer = new XslTransformer(
                ConfigurationManager.AppSettings[AppSettingsKeys.ExternalLinksXslFileName],
                xslCache);
            var transformersFactoryMock = new Mock <IExternalLinksTransformersFactory>();

            transformersFactoryMock
            .Setup(f => f.GetExternalLinksTransformer())
            .Returns(transformer);

            var harvester = new ExternalLinksHarvester(contextWrapper, serializer, transformersFactoryMock.Object);

            // Act
            var externalLinks = harvester.Harvest(document.DocumentElement).Result?.ToList();

            // Assert
            Assert.IsNotNull(externalLinks);
            externalLinks.ForEach(i => Console.WriteLine("{0} | {1} | {2}", i.BaseAddress, i.Uri, i.Value));

            Assert.AreEqual(ExpectedNumberOfExternalLinks, externalLinks.Count);

            var doiExternalLinks = externalLinks.Where(i => i.BaseAddress.Contains("doi.org")).ToList();

            Assert.AreEqual(ExpectedNumberOfExternalLinksOfTypeDoi, doiExternalLinks.Count);
        }
Beispiel #8
0
        public void Test_Transform()
        {
            var transformer = new XslTransformer();

            transformer.Transform("books_valid.xml", "rss_feed.xml");
        }
Beispiel #9
0
 public RssGeneratorTest()
 {
     _generator = new XslTransformer();
 }
Beispiel #10
0
            public void FailsIfInvalidXsl()
            {
                var output = XslTransformer.Transform(validXml, invalidXsl);

                Assert.False(output.IsSuccessful);
            }