需要一些决策模式帮助。无法为简单的目标汇编代码。
我需要什么。
-1在基本XML文件中,我有一个具有唯一ID(非数字,例如'd124914-a402-ab72-949a“)的父元素
-2,然后我有10多个子元素
-3(做什么)
------>获取(通过变量?)此属性值
------>将此ID唯一属性插入到其他10个以上的元素中,除了它们已经存在的属性之外
感谢!
答案 0 :(得分:0)
考虑以下示例:
XML
<root>
<parent id="100">
<child id="1">alpha</child>
<child id="2">bravo</child>
<child id="3">charlie</child>
</parent>
<parent id="200">
<child id="4">red</child>
<child id="5">green</child>
</parent>
</root>
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="child">
<child parent-id="{../@id}">
<xsl:apply-templates select="@*|node()"/>
</child>
</xsl:template>
</xsl:stylesheet>
结果
<?xml version="1.0" encoding="UTF-8"?>
<root>
<parent id="100">
<child parent-id="100" id="1">alpha</child>
<child parent-id="100" id="2">bravo</child>
<child parent-id="100" id="3">charlie</child>
</parent>
<parent id="200">
<child parent-id="200" id="4">red</child>
<child parent-id="200" id="5">green</child>
</parent>
</root>
要更好地理解这一点,请阅读有关attribute value templates的信息。