我想從包含多個標題行的文件創建一組xml,後面是每個標題的多個詳細信息行。XSL頭和細節分組
這裏是原始XML的示例:
編輯:隨後的報頭片材將發生變化詳細的張數。所以,Sheet [4]/FIELD1將不總是具有Header的值。此外,該文件將始終有一個或多個頁眉表。表格是行。
編輯:XSLT-1.0
<Root>
<Sheet>
<FIELD1>Header</FIELD1>
<FIELD2>Value1</FIELD2>
<FIELD3>Value2</FIELD3>
</Sheet>
<Sheet>
<FIELD1>Detail</FIELD1>
<FIELD2>Value3</FIELD2>
<FIELD3>Value4</FIELD3>
</Sheet>
<Sheet>
<FIELD1>Detail</FIELD1>
<FIELD2>Value5</FIELD2>
<FIELD3>Value6</FIELD3>
</Sheet>
<Sheet>
<FIELD1>Header</FIELD1>
<FIELD2>Value7</FIELD2>
<FIELD3>Value8</FIELD3>
</Sheet>
<Sheet>
<FIELD1>Detail</FIELD1>
<FIELD2>Value9</FIELD2>
<FIELD3>Value10</FIELD3>
</Sheet>
<Sheet>
<FIELD1>Detail</FIELD1>
<FIELD2>Value11</FIELD2>
<FIELD3>Value12</FIELD3>
</Sheet>
<Sheet>
<FIELD1>Detail</FIELD1>
<FIELD2>Value13</FIELD2>
<FIELD3>Value14</FIELD3>
</Sheet>
</Root>
這裏是輸出應類似於什麼:
編輯:發票的數量將通過頭片材(行)的數目來確定。 LineItem行將與Header後面的Detail表相同。
<Root>
<Invoice AttribOne="Value1" AttribTwo="Value2" >
<LineItem LIAttribOne="Value3" LIAttribTwo="Value4"/>
<LineItem LIAttribOne="Value5" LIAttribTwo="Value6"/>
</Invoice>
<Invoice AttribOne="Value7" AttribTwo="Value8" >
<LineItem LIAttribOne="Value9" LIAttribTwo="Value10"/>
<LineItem LIAttribOne="Value11" LIAttribTwo="Value12"/>
<LineItem LIAttribOne="Value13" LIAttribTwo="Value14"/>
</Invoice>
</Root>
編輯:如下回答:
確定。如何標識標題字段?或細節字段? 「標題」和「細節」這兩個詞是否有意義? – helderdarocha
Sheet/FIELD1將始終具有「標題」或「詳細信息」的值。表格之間沒有其他區別。 – Alsace