2011-12-06 81 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的答案,我解释了为什么这个答案是错误的。 –