我有下面的XSLT文件,我只想通过SHELL脚本运行它。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="test-method[@status = 'FAIL']"/>
</xsl:stylesheet>
示例XML:
<?xml version="1.0" encoding="UTF-8"?>
<test-result>
<test-method status="PASS" name="beforeTestSetup" is-config="true" duration-ms="705" started-at="2018-08-16T21:39:59Z" finished-at="2018-08-16T21:39:59Z">
<params>
<param index="0">
<value> <![CDATA[org.testng.TestRunner@31c2affc]]> </value>
</param>
</params>
</test-method>
<test-method status="FAIL" name="beforeTestSetup" is-config="true" duration-ms="805" started-at="2018-08-16T21:39:59Z" finished-at="2018-08-16T21:39:59Z">
<params>
<param index="0">
<value> <![CDATA[org.testng.TestRunner@31c2affc]]> </value>
</param>
</params>
</test-method>
<test-method status="PASS" name="TEST" is-config="true" duration-ms="905" started-at="2018-08-16T21:39:59Z" finished-at="2018-08-16T21:39:59Z">
<params>
<param index="0">
<value> <![CDATA[org.testng.TestRunner@31c2affc]]> </value>
</param>
</params>
</test-method>
</test-result>
我只想通过SHELL脚本对示例XML运行上面的xslt,我想在JENKINS shell脚本编辑器中使用它。
有什么办法可以做到这一点?
答案 0 :(得分:0)
您需要XSLT处理器才能将XSLT样式文件应用于XML输入文件。
为此我们使用xsltproc
,而shell命令是
xsltproc [other_options] --output output.xml style.xslt input.xml
有关other_options,请参见xsltproc手册页。简而言之:
SYNOPSIS
xsltproc [[-V | --version] [-v | --verbose] [{-o | --output} {FILE | DIRECTORY}] |
--timing | --repeat | --debug | --novalid | --noout | --maxdepth VALUE | --html |
--encoding ENCODING | --param PARAMNAME PARAMVALUE |
--stringparam PARAMNAME PARAMVALUE | --nonet | --path "PATH(S)" | --load-trace |
--catalogs | --xinclude | [--profile | --norman] | --dumpextensions | --nowrite |
--nomkdir | --writesubtree PATH | --nodtdattr] [STYLESHEET] {XML-FILE | -}