我們向供應商發送目標文件,它們可以包含0-30個可選字段。我們的XSD可以轉移到標準化的數據庫,但對於低科技印刷廠商來說這不太好。所以我想用XSLT創建數據的非規範化視圖,即使是基本用戶也可以用Excel解碼。技巧不是每個記錄都有相同或相同數量的可選字段,我不知道如何對齊這個工作。XML-反規範化重複同級
<target>
<transactionNumber>536880912</transactionNumber>
<optionalField>
<optionalFieldLabel>PROMO_CODE</optionalFieldLabel>
<optionalFieldDescription>ABC127</optionalFieldDescription>
</optionalField>
<optionalField>
<optionalFieldLabel>Version</optionalFieldLabel>
<optionalFieldDescription>CON</optionalFieldDescription>
</optionalField>
<optionalField>
<optionalFieldLabel>cell</optionalFieldLabel>
<optionalFieldDescription>2</optionalFieldDescription>
</optionalField>
</target>
<target>
<transactionNumber>536880924</transactionNumber>
<optionalField>
<optionalFieldLabel>PROMO_CODE</optionalFieldLabel>
<optionalFieldDescription>ABC131</optionalFieldDescription>
</optionalField>
<optionalField>
<optionalFieldLabel>Version</optionalFieldLabel>
<optionalFieldDescription>CON</optionalFieldDescription>
</optionalField>
</target>
<target>
<transactionNumber>536880213</transactionNumber>
<optionalField>
<optionalFieldLabel>Version</optionalFieldLabel>
<optionalFieldDescription>CON</optionalFieldDescription>
</optionalField>
<optionalField>
<optionalFieldLabel>cell</optionalFieldLabel>
<optionalFieldDescription>1</optionalFieldDescription>
</optionalField>
</target>
我是新來的所以沒有圖片:(
我想這樣的事情:
536880912___PROMO_CODE___ABC127___Version___CON___cell___2
536880924___PROMO_CODE___ABC131___Version___CON
536880213_____________________________Version___CON___cell___1
或者一個HTML表格,其中我的optionalfieldlabel是每列的標題。
我剛來實現如何簡化我的問題。 基本上我只是需要去掉optionfield和optionalfieldlabel標籤,並使用optionalfieldlabel值用新標籤替換它們。所以它變成看起來像這樣:
<target>
<transactionNumber>536880912</transactionNumber>
<PROMO_CODE>
<optionalFieldDescription>ABC127</optionalFieldDescription>
</PROMO_CODE>
<Version>
<optionalFieldDescription>CON</optionalFieldDescription>
</Version>
<cell>
<optionalFieldDescription>2</optionalFieldDescription>
</cell>
</target>
<target>
<transactionNumber>536880924</transactionNumber>
<PROMO_CODE>
<optionalFieldDescription>ABC131</optionalFieldDescription>
</PROMO_CODE>
<Version>
<optionalFieldDescription>CON</optionalFieldDescription>
</Version>
</target>
<target>
<transactionNumber>536880912</transactionNumber>
<Version>
<optionalFieldDescription>CON</optionalFieldDescription>
</Version>
<cell>
<optionalFieldDescription>1</optionalFieldDescription>
</cell>
</target>
在此先感謝。
所以你到目前爲止嘗試過 - 你的問題是缺少你的XSLT。此外,我不完全得到所需輸出中的所有下劃線 - 爲什麼不是簡單的csv? – dirkk
下劃線對齊我的示例輸出,表單未使用選項卡對齊忽略它們。 –
沒有XSLT,因爲我做的事情甚至都接近工作。一個csv實際上會很棒,但是關鍵是插入額外的逗號作爲沒有相同可選字段的記錄。謝謝。 –