我正在獲取需要轉換爲另一種標準類型的XML文件。我的指尖上有XSLT2,我無法控制任何一個文件的格式。第一個有兩個使用數字值的序列來匹配它們。第一個序列可以有0..n秒。如何通過XSLT將兩個並排XML結構映射到一起?
一個例子是:
輸入:
<foo>
<structure name="items">
<item>
<itemCode>1</itemCode>
<itemValue>1111</itemValue>
</item>
<item>
<itemCode>2</itemCode>
<itemValue>2222</itemValue>
</item>
</structure>
<structure name="subItems">
<subItem>
<itemCode>1</itemCode>
<subValue>12</subValue>
<subType>MISC</subType>
</subItem>
<subItem>
<itemCode>1</itemCode>
<subValue>15</subValue>
<subType>MISC2</subType>
</subItem>
<subItem>
<itemCode>2</itemCode>
<subValue>40</subValue>
<subType>MISC</subType>
</subItem>
</structure>
</foo>
而且我想輸出是
<bar>
<items>
<item>
<code>1</code>
<value>1111</value>
<subItems>
<subItem>
<subValue>12</subValue>
<subType>MISC</subType>
</subItem>
<subItem>
<subValue>15</subValue>
<subType>MISC2</subType>
</subItem>
</subItems>
</item>
<item>
<code>2</code>
<value>2222</value>
<subItems>
<subItem>
<subValue>40</subValue>
<subType>MISC</subType>
</subItem>
</subItems>
</item>
</items>
</bar>
我一直不成功映射item.itemCode簡單,因爲subItem.itemCode看到下一個之前,XSLT處理器似乎退出第一個序列。我無法知道有多少我會在任何一個序列中獲得,所以我不能做一張靜態地圖。
任何想法?
在此先感謝
我不清楚你的意思*第一個序列可能有0..n秒*。請解釋。 – Borodin