gpt4 book ai didi

xml - XSLT 转换

转载 作者:数据小太阳 更新时间:2023-10-29 02:39:12 25 4
gpt4 key购买 nike

我需要执行 XML XSLT 转换。我对此很陌生,已经阅读了很多教程,但遇到了一个对我来说有点挑战的教程,希望有人能指出我正确的方向。

我有两个元素,例如:

<linum class="topic/linum secondAtt/secondVal">Blah</linum>
<linum class="topic/linum">Blah</linum>

如果 linum 类属性有第二个值,我必须使用该属性的第二个值向该元素添加另一个属性。如果它只有一个,那么我将保持原样。

所以上面两个输出的输出是:

<linum class="topic/linum secondAtt/secondVal" newAttribute="secondVal">Blah</linum>
<linum class="topic/linum">Blah</linum>

我希望我已经解释清楚了,如果没有,希望我的输出很清楚,因为只有第一个元素通过添加具有第二个值的新属性进行了转换。

我很感激我得到的任何帮助!

最佳答案

以下内容适用于您的示例,其中 class 属性包含不超过两个以空格分隔的值:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>

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

<xsl:template match="linum[contains(@class, ' ')]">
<linum class="{@class}" newAttribute="{substring-after(substring-after(@class, ' '), '/')}">
<xsl:apply-templates/>
</linum>
</xsl:template>

</xsl:stylesheet>

关于xml - XSLT 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39619939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com