我有一段代碼,我已經繼承,我試圖讓它在匹配模式的倍數上工作,並設置一個標記從表中查找值另一個標籤。會發生的是,對於每個項目,執行相同的查找,而不是節點的相對查找。我無法制定通過所有條目工作的語法並替換正確的條目。這一定是簡單,它只是我簡單:)預處理腳本切換產品代碼
我的源XML包含此(未顯示外/ oomsdoc文檔節點內):
<item>
<lineqty> 1</lineqty>
<linesku>BNLP5008 </linesku>
<linecustprod>xxxxxxxxxxxxxxx</linecustprod>
<linedesc>London Pride (Bot500mlx8) </linedesc>
</item>
<item>
<lineqty> 1</lineqty>
<linesku>BNBL5008 </linesku>
<linecustprod>xxxxxxxxxxxxxxx</linecustprod>
<linedesc>Bengal Lancer (Bot500mlx8) </linedesc>
</item>
我想替代XXXXXXXXXXXXXXX每個linecustprod使用linesku標記的值使用查找表中的材料標記標記。
這是我的查找表:
<Materials>
<product sku='BNLP5008 ' material='LONDON PRIDE'/>
<product sku='BNBL5008 ' material='BENGAL LANCER'/>
</Materials>
,這是我的XSLT代碼。
<xsl:variable name="SkuList" select="document('d:\test\transforms\catalogue.xml')/Materials"/>
<xsl:template match="/oomsdoc/item/linecustprod">
<xsl:variable name="MySku" select="/oomsdoc/item/linesku"/>
<linecustprod>
<xsl:value-of select="$SkuList/product[@sku=$MySku]/@material"/>
</linecustprod>
</xsl:template>
我猜某種XSL的foreach的工作,但就是無法找到一個可用的例子嬰兒牀:)
你的指導將再次在我的無奈這點可以理解:)
謝謝,
布賴恩。
您的「查找」表是同一個XML文檔或單獨文檔的一部分嗎?如果你展示瞭如何在你的XSLT中定義** $ SkuList **,這可能會有所幫助。謝謝! –
@TimC它在那裏,只是由格式問題隱藏。 –