2011-12-06 89 views

回答

0

XSLT是XML,因此您可以將該文件加載到XDocument中,並查詢它是否在頂部元素上定義了任何參數元素。

+0

感謝您對Oded的快速響應。 我曾考慮過這種方法,我只是想知道C#是否有內置的支持這種類型的檢查。 – Jordan

+0

@Jordan - XML庫是通用的,它們在轉換之外沒有特定的XSLT支持,查詢方面絕對沒有。 – Oded

+0

@Oded:嚴格地說這個答案是錯誤的,因爲任何全局參數都不能在模板內定義。全局參數是頂層元素的子元素 - 「xsl:stylesheet」或「xsl:transform」元素。看到我的回答,這是正確的。希望你能糾正錯誤的陳述。 –

0

評估對包含XSLT文件 XML文檔此XPath表達式:

/*/xsl:param 

如果結果至少包含一個節點,然後在XSLT樣式表中包含至少一個全局xsl:param - 和全球xsl:param的主要目的是由轉化的調用者在外部設定。

其中必須添加XSLT名稱空間並使用XmlNamespaceManager對象將其與"xsl:"前綴關聯。

+0

感謝您的答案和代碼示例Dimitre。 我在Oled的建議後已經實現了這個表達式,所以我接受了他的答案。 – Jordan

+0

@Jordan:請閱讀我的評論@Oded的答案,我解釋了爲什麼這個答案是錯誤的。 –