gpt4 book ai didi

xml - 生成随机且唯一的字符串 xslt

转载 作者:行者123 更新时间:2023-12-05 05:25:41 24 4
gpt4 key购买 nike

如何使用 xslt 生成唯一且随机的字符串,以便将其与标签的属性相关联。例如,我想为这个标签添加一个唯一的 id

<generalization xmi:id="unique ID">

最佳答案

您可以使用generate-id() 来创建唯一标识符。引用the standard , "此函数返回唯一标识给定节点的字符串。"

考虑这个样式表:

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!-- Replace <xyzzy> with <generalization xml:id="unique ID"> -->
<xsl:template match="xyzzy">
<generalization>
<xsl:apply-templates select="@*"/>
<xsl:attribute name="xml:id"><xsl:value-of select="generate-id()"/></xsl:attribute>
<xsl:apply-templates/>
</generalization>
</xsl:template>

<!-- Copy everything else straight thru -->
<xsl:template match="node( ) | @*">
<xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
</xsl:template>

</xsl:stylesheet>

应用于此输入:

<?xml version='1.0' encoding='ASCII'?>
<root>
<xyzzy/>
<xyzzy a="b">
<xyzzy xml:id="non-unique-id"/>
</xyzzy>
</root>

结果是:

<?xml version="1.0"?>
<root>
<generalization xml:id="idp28972496"/>
<generalization a="b" xml:id="idp28945920">
<generalization xml:id="idp28946416"/>
</generalization>
</root>

请注意 generate-id() 的值在整个文档中是如何唯一的。

关于xml - 生成随机且唯一的字符串 xslt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30195871/

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