В приведенном ниже XSL каждый раз, когда xsl: когда он удовлетворен, я хочу добавить столько меток <a
> и </a
>. Но данные, которые должны быть заполнены внутри тегов, должны быть только один раз. Я показал ожидаемый результат в конце. Как изменить XSL для изменения формата xml
<xsl:param name="insert-file" as="document-node()" />
<xsl:template match="*">
<xsl:variable name="input">My text</xsl:variable>
<xsl:variable name="Myxml" as="element()*">
<xsl:call-template name="populateTag">
<xsl:with-param name="nodeValue" select="$input"/>
</xsl:call-template>
</xsl:variable>
<xsl:copy-of select="$Myxml"></xsl:copy-of>
</xsl:template>
<xsl:template name="populateTag">
<xsl:param name="nodeValue"/>
<xsl:for-each select="$insert-file/insert-data/data">
<xsl:choose>
<xsl:when test="@index = 1">
<a><xsl:value-of select="$nodeValue"></xsl:value-of></a>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:template>
Токовый выход:
<?xml version="1.0" encoding="UTF-8"?
> <a
> Мой текст </a
> <a
> Мой текст </a
> <a
> Мой текст </a
> <a
> Мой текст </a
>
Я хотите, чтобы шаблон «populateTag» возвращал мне xml в следующем формате. Как изменить шаблон «populateTag», чтобы добиться того же.
Ожидаемый результат от шаблона "populateTag": <?xml version="1.0" encoding="UTF-8"?
> <a
><a
><a
><a
> Мой текст </a
></a
></a
></a
>
Пожалуйста, дайте свои идеи.
Спасибо за ваш ответ. Оно работает. – user323719