xsl: когда с несколькими тестами - PullRequest
0 голосов
/ 23 сентября 2019

У меня проблема с моим макетом для XSLFast 3.1.19.Он использует данные xml и генерирует отчет.

Мне нужно каждый раз, когда Interpretation появляется в реестре sum/comment, разрыв страницы.Но часто это больше, чем просто Interpretation в тексте xml.Как ...

<sum>
    <comment_lt>Interpretation: Negative experience.</comment_lt>
</sum>

Есть ли способ сказать каждый раз, когда в comment_lt отображается Интерпретация, а затем разрыв страницы?

Это мой действительный код ...

<xsl:call-template name="comment"/>
    <xsl:choose>
    <xsl:when test="sum/comment_lt='Interpretation'"><fo:table break-after="page"/></xsl:when>
</xsl:choose>

С наилучшими пожеланиями, Марсель

1 Ответ

0 голосов
/ 23 сентября 2019

Вы можете использовать только xsl: если для этого:

XML:

<root>
    <sum>
        <comment_lt>Interpretation: Negative experience.</comment_lt>
    </sum>
    <sum>
        <comment_lt>Negative experience.</comment_lt>
    </sum>
</root>

XSL:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">

  <xsl:output method="xml" indent="yes" />

  <xsl:template match="sum">
        <table>
            <xsl:if test="contains(comment_lt, 'Interpretation')"><xsl:attribute name="break-after" select="'page'"/></xsl:if>
        </table>
</xsl:template>

</xsl:stylesheet>

Out:

<?xml version="1.0" encoding="UTF-8"?>
    <table break-after="page"/>
    <table/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...