Можно ли запустить файл XSLT через скрипт SHELL? - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть приведенный ниже 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>

Я просто хочучтобы запустить приведенный выше xslt для образца XML через скрипт SHELL, и я хочу использовать его в редакторе сценариев оболочки JENKINS.

Есть ли способ добиться этого?

1 Ответ

0 голосов
/ 06 августа 2019

Вам нужен процессор XSLT, чтобы применить файл стиля XSLT к входному XML-файлу.

Для этого мы используем xsltproc, а команда оболочки

xsltproc [other_options] --output output.xml style.xslt input.xml

См. XsltprocСтраница руководства для other_options.В двух словах:

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 | -}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...