再会!
我正在尝试构建一个 xsl 转换文件来执行以下操作:
有一个元素有一堆 Characteristic 类型的子元素。它们中的每一个都有其唯一的名称。我还有一个列表,描述了一些名称和某个命名特征集(称为数据集)之间的逻辑连接:
CharacteristicName : 数据集名称
−−−−−−−−−−−−−−−−−−−−−−−−−−−
Att1_DS1 : DS1
Att2_DS1 : DS1
Att1_DS2 : DS2
Att2_DS2 : DS2
我必须转换 xml 以便主要元素应该获得 type 的新元素<Dataset>
。如果列出的特征名称出现在源文档中,则应显示这些具有表中 id 的数据集。然后将相应的特征复制到这些数据集元素/
如果某些特征名称未在表中列出,则应将其放置在 ID 为“其他”的数据集中
源 XML:
<Object>
<ID>Obj1</ID>
<!--DS1-->
<Characteristic>
<Name>Att1_DS1</Name>
<Value>25</Value>
</Characteristic>
<!--DS2-->
<Characteristic>
<Name>Att1_DS2</Name>
<Value>25</Value>
</Characteristic>
<!--DS1-->
<Characteristic>
<Name>Att2_DS1</Name>
<Value>ABC</Value>
</Characteristic>
<!--DS2-->
<Characteristic>
<Name>Att2_DS2</Name>
<Value>ABC</Value>
</Characteristic>
<!--Other-->
<Characteristic>
<Name>Att3_NN</Name>
<Value>25</Value>
</Characteristic>
</Object>
它应该转换为:
<Object>
<ID>Obj1</ID>
<Dataset id="DS1">
<Characteristic>
<Name>Att1_DS1</Name>
<Value>25</Value>
</Characteristic>
<Characteristic>
<Name>Att2_DS1</Name>
<Value>ABC</Value>
</Characteristic>
</Dataset>
<Dataset id="DS2">
<Characteristic>
<Name>Att1_DS1</Name>
<Value>25</Value>
</Characteristic>
<Characteristic>
<Name>Att2_DS1</Name>
<Value>ABC</Value>
</Characteristic>
</Dataset>
<Dataset id="Other">
<Characteristic>
<Name>Att3_NN</Name>
<Value>25</Value>
</Characteristic>
</Dataset>
</Object>
你能帮我做这些吗?任何提示或想法我应该朝哪个方向移动?