【发布时间】:2017-10-27 22:00:57
【问题描述】:
基于以下问题:XSLT, Renaming Elements using mapping table based on Attribute's value
如何将映射表中未定义的元素(此处为示例99和100)收集到名为“customRecords”的元素中?
源 XML:
<transaction>
<records type="1" >
<record type="1" >
<field number="1" >
<item>223</item>
</field>
</record>
</records>
<records type="14" >
<record type="14" >
<field number="1" >
<item>777</item>
</field>
</record>
</records>
<records type="99" >
<record type="99" >
<field number="1" >
<item>123</item>
</field>
</record>
<record type="99" >
<field number="1" >
<item>765</item>
</field>
</record>
</records>
<records type="100" >
<record type="100" >
<field number="1" >
<item>456</item>
</field>
</record>
<record type="100" >
<field number="1" >
<item>121</item>
</field>
</record>
</records>
</transaction>
映射表:
<xsl:stylesheet>
<mapping type="1" from="record" to="first-record">
<map number="1" from="field" to="great-field"/>
</mapping>
<mapping type="14" from="record" to="real-record">
<map number="1" from="field" to="my-field"/>
</mapping>
</xsl:stylesheet>
目标 XML:
<transaction>
<records type="1" >
<first-record type="1" >
<great-field number="1" >
<item >223</item>
</great-field>
</first-record>
</records>
<records type="14">
<real-record type="14" >
<my-field number="1" >
<item >777</item>
</my-field>
</real-record>
</records>
<customRecords>
<record type="99" >
<field number="1" >
<item>123</item>
</field>
</record>
<record type="99" >
<field number="1" >
<item>765</item>
</field>
</record>
<record type="100" >
<field number="1" >
<item>456</item>
</field>
</record>
<record type="100" >
<field number="1" >
<item>121</item>
</field>
</record>
</customRecords>
</transaction>
任何建议将不胜感激。 提前感谢您的努力。
【问题讨论】: