【发布时间】:2018-08-03 12:19:00
【问题描述】:
鉴于以下示例 xml,我如何使 RECORD ID 元素和 TITLEID 具有唯一值,从值 1 开始,然后继续?
<CATALOG>
<CD>
<RECORD ID="109">
<TITLEID>54</TITLEID>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR> </CD>
</RECORD>
<CD>
<RECORD ID="187">
<TITLEID>88</TITLEID>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR> </CD>
</RECORD>
</CATALOG>
预期结果:
<CATALOG>
<CD>
<RECORD ID="1">
<TITLEID>1</TITLEID>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR> </CD>
</RECORD>
<CD>
<RECORD ID="2">
<TITLEID>2</TITLEID>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR> </CD>
</RECORD>
</CATALOG>
我尝试使用 xs:unique 属性,但我没有设法让它正常工作
【问题讨论】:
-
请向我们展示一个格式良好的 XML 输入样本和结果样本,其中有一个开头的
CD标记和一个开头的RECORD标记,首先用CD关闭,然后用RECORD关闭格式不正确。请求 XSLT 帮助但将架构元素xs:unique作为“尝试”听起来很奇怪,如果您倾向于纯 XSLT 3 方法,请查看任何 XSLT 版本中的xsl:number或xsl:accumulator。
标签: xslt-3.0