Довольно новый для xslt, и я пытаюсь написать шаблон xslt для целей генерации PDF.Соответствие шаблону XSLT с набором атрибутов режима не работает
Вот отрывок из входящего XML:
<element name="rootElement">
<attributes />
<elements>
<element name="childElement">
<attributes>
<attribute name="attributename" value="Yes" />
</attributes>
</element>
</elements>
</element>
Мне нужно, чтобы отобразить текст, специфичные для каждого дочернего элемента в дополнение к печати все имена элементов и соответствующих значений в табличной форме.
После выполнения некоторых исследований я думал, что это может быть достигнуто с помощью комбинации совпадений шаблонов и установки атрибута режима. Вот код, который я написал:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="DOCUMENT">
<xsl:apply-templates select="DATA" />
</xsl:template>
<xsl:template match="DATA">
<xsl:apply-templates select="element" />
<xsl:apply-templates select="element" mode="test" />
</xsl:template>
<xsl:template match="element">
<fo:block font-size="18.0pt" font-family="Arial"
font-weight="bold">
Display something I.
</fo:block>
</xsl:template>
<xsl:template match="element" mode="test">
<fo:block font-size="18.0pt" font-family="Arial"
font-weight="bold">
Display something II.
</fo:block>
</xsl:template>
</xsl:stylesheet>
Вот результат после выполнения:
<?xml version="1.0" encoding="UTF-8"?>
<fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format" font-size="18.0pt" font-family="Arial" font-weight="bold">
Display something I.
</fo:block>
Может кто-нибудь пожалуйста, скажите мне, почему матч шаблон с режимом не выполнять?
Любые мысли/решения/идеи будут высоко оценены.
В шаблоне 'element' вам нужно« применить шаблоны », чтобы продолжить обработку дерева узлов, но каков ваш ожидаемый результат? – JLRishe
Спасибо за ваш ответ - я надеялся на шаблон элемента с активируемым атрибутом режима и распечатал XML-текст, содержащий текст Display Something II, в дополнение к содержимому соответствия шаблона стандартного элемента. – user2624928
Ваш текущий XSLT ищет элементы ** DOCUMENT ** и ** DATA **, которые вообще отсутствуют в вашем XML. Является ли ваш образец XML определенно правильным? –