XSLT将递增的值附加到现有属性值
对于我的输入XML,我已经编写了XSLT,但是我无法使XSLT正确地生成XSLT将递增的值附加到现有属性值,xslt,Xslt,对于我的输入XML,我已经编写了XSLT,但是我无法使XSLT正确地生成。请帮忙 XML输入: 注意:如果我从XSL中删除,那么语法是正确的,但是我将无法生成book1book2等属性值 请帮忙 添加了:是必需的元素。它与输出中需要的任何其他XML元素(如)一样。它不是一个仅用于保存属性id的元素。很抱歉,如果对此有混淆 在此处添加解决方案,从获得的答案中总结: <?xml version="1.0" encoding="UTF-8"?> <newbooks> &l
。请帮忙
XML输入:
注意:如果我从XSL中删除
,那么语法是正确的,但是我将无法生成book1
book2
等
属性值
请帮忙
添加了:
是必需的元素。它与输出中需要的任何其他XML元素(如
)一样。它不是一个仅用于保存属性id
的元素。很抱歉,如果对此有混淆
在此处添加解决方案,从获得的答案中总结:
<?xml version="1.0" encoding="UTF-8"?>
<newbooks>
<newbook>
<mynewtag id="book1" />
<title>charithram</title>
<author>sarika</author>
</newbook>
<newbook>
<mynewtag id="book2" />
<title>doublebell</title>
<author>psudarsanan</author>
</newbook>
</newbooks>
<mynewtag>
<xsl:attribute name="id">
<xsl:text>book</xsl:text>
<xsl:number value='position()'/>
</xsl:attribute>
</mynewtag>
<mynewtag>
<xsl:attribute name="id">
<xsl:text>book</xsl:text>
<xsl:number value='position()'/>
</xsl:attribute>
</mynewtag>
书
或者很快:
<mynewtag id="book{position()}" />"
<mynewtag id="book{position()}" />"
”
或
..........
还有IanRoberts提到的属性值模板。您不能将标记放在另一个标记中。请尝试以下操作之一:
书
或者很快:
<mynewtag id="book{position()}" />"
<mynewtag id="book{position()}" />"
”
添加:
与您的问题没有直接关系,但我认为id属性应该应用于父
元素,而不是创建一个人工子元素来容纳它。请阅读Thank you@IanRoberts提供的有关属性值模板的参考。虽然michael.hor257k完全回答了我的问题,但这个额外的参考资料帮助我更深入地研究它。所以我也可以用不同的方法来达到这个效果。谢谢非常感谢。我尝试了这两个建议,效果很好。这正是我想要的,而IanRoberts关于属性值元素的参考[你的第二个建议]让我对它的用法有了更多的了解。关于向元素添加id属性的额外说明,我理解您的意思,但在我的真实场景中,属性名称不是id,而是用于自定义目的的href。在这种情况下,元素的目的不是保存id属性,它在实际上下文中有自己的重要性。谢谢,我也很感谢你的帮助。这不是属性值元素。我的意思是说属性值模板。
<mynewtag>
<xsl:attribute name="id">
<xsl:text>book</xsl:text>
<xsl:number value='position()'/>
</xsl:attribute>
</mynewtag>
<mynewtag id="book{position()}" />"