有沒有辦法將導入應用於特定的導入文件,而不是導入的所有文件?Xslt爲特定的導入文件應用導入?
基本上只想根據評估的某個值對某個導入應用導入。
例如僞,
如果value =「醫療」,然後做醫學導入的文件申請進口否則如果value =「運輸」然後做運輸導入的文件申請進口
乾杯
有沒有辦法將導入應用於特定的導入文件,而不是導入的所有文件?Xslt爲特定的導入文件應用導入?
基本上只想根據評估的某個值對某個導入應用導入。
例如僞,
如果value =「醫療」,然後做醫學導入的文件申請進口否則如果value =「運輸」然後做運輸導入的文件申請進口
乾杯
對於XSLT 1.0,答案是否定的。但是您可以使用模式來模擬類似的行爲。
在XSLT 2.0存在xsl:use-when
屬性可存在於任何XSLT指令,包括<xsl:import>
,然而可以在它被測試的條件是嚴格的限制。引用規範:
「對於XPath表達式沒有任何語法約束可用作use-when屬性的值,但是對其評估上下文中提供的信息存在嚴格的約束,這些約束旨在確保表達式可以在樣式表處理的最早階段進行評估,而不依賴於樣式表本身或任何源文檔中包含的信息。「
我認爲可能在應用導入時使用mode
會幫助你嗎?但是,如果你想表明來自特定源的模板,你可以使用模式來做到這一點。
解決方案 - 而不是應用導入使用的包含和調用模板,並允許包含文件指定是否處理。
也許我不理解問題的權利。模板本身不會決定它們運行哪些元素,即使它們來自導入的樣式表?所以在1.0中,我不能說來表示爲醫療元素設計的模板嗎? –
Tomalak
2009-02-11 18:16:32