Может кто-нибудь объяснить, что происходит в этом коде XSLT? - PullRequest
0 голосов
/ 30 января 2020

Я работаю в проекте (datapower to mule миграции) Я новичок в XSLT и не имею опыта. Может кто-нибудь, пожалуйста, помогите мне понять работу этого файла xslt, чтобы я мог перенести его в API-интерфейс mule. Это мой XSLT-файл:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet 
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:dp="http://www.datapower.com/extensions"
     xmlns:fin="http://schemas.zurich.com/zsoa/fig/policymanagement/2009/01/financialservicesagreement"
     xmlns:par="http://schemas.zurich.com/zsoa/fig/policymanagement/2009/01/party"
     xmlns:pol="http://webservices.zurich.com/zsoa/fig/policymanagement/policyinquiry-v4_0"
     exclude-result-prefixes="dp" version="1.0">

    <xsl:output method="xml" indent="yes" />
    <xsl:variable name="plcynum" select="dp:variable('var://context/PIPE/pc')" />

    <dp:set-variable name="'var://context/PIPE/LP'" value="'LEARNER'S PERMIT'" />

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()" />
        </xsl:copy>
    </xsl:template>

    <!--<xsl:template match="ntig[descendant::term[. = '']]"/>-->
    <!-- <xsl:template match="langSet[not(descendant::term[. != ''])]"/>-->

    <xsl:template match="fin:basicPolicy[
                           descendant::fin:policyNumber[
                             normalize-space(.) 
                             != dp:variable('var://context/PIPE/pc')
                           ]
                         ]"/>

    <!--xsl:template match="pol:houseHoldMembers[not(descendant::par:primeRole[ normalize-space(.) !='CLIENT IS A DRIVER' or  normalize-space(.) !='EXCLUDED DRIVER' or  normalize-space(.) != dp:variable('var://context/PIPE/LP')])]"></xsl:template-->
</xsl:stylesheet>

1 Ответ

0 голосов
/ 30 января 2020

Это таблица стилей с двумя шаблонными правилами. Первое правило гласит, что действием по умолчанию является копирование всего из ввода без изменений. Второе правило (потому что оно пустое) гласит, что когда встречаются элементы, соответствующие определенному шаблону, они должны быть отброшены. В частности, элемент basicPolicy должен быть удален, если содержит policyNumber, который соответствует определенным критериям; Я не понимаю критерии, потому что они определены с использованием нестандартного расширения Datapower.

...