2009-12-04 169 views
4

我有一个XML文件,除了它的标准XML模式外,还允许使用XSLT。Visual Studio 2008中的XSLT智能感知

我为XSLT包含了正确的命名空间(xmlns:xsl =“http://www.w3.org/1999/XSL/Transform”)但是,当我开始键入xsl:tags时,我没有收到XSLT的Intellisense 。

可以打开它吗?当我编辑XSLT文件时,它工作得很好。

回答

1

XSLT智能感知VS 2008的一个隐藏的功能它必须通过设置注册表项(http://memoryleak.me.uk/2008/11/xslt-intellisense-in-visual-studio-2008.html)启用:

首先,确保你有在C xslt.xsd 文件: \ Program Files \ Microsoft Visual Studio 9.0 \ Xml \ Schemas文件夹。 如果没有,请从VS2005复制它。

下,一个新的字符串值添加到名为XsltIntellisense 的 注册表下 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\XmlEditor 和值设置为True。这将使 为 标准标记完成的东西启用一些其他不错的功能。

这暗示从http://www.tkachenko.com/blog/archives/000740.html

+0

听起来像一个不错的功能,可悲的是它似乎并没有工作。 – AnthonyWJones 2009-12-04 11:01:08

+0

我前段时间尝试过,然后开始工作,但好处似乎并不太大。也许它自SP1以来不再有效...... – 2009-12-04 12:24:13

2

XML编辑器来原本不支持该标准的XSL智能感知,但它会严格执行的模式。因此,您首先需要输入一个<xsl:stylesheet>并开始添加子项,然后才能看到任何xsl选项。这是因为其他所有其他xsl元素都必须是xsl:stylesheet元素或其他xsl元素的子元素。

+1

如果我要为我的XML文档定义一个指定了xsl:choose的模式,例如某些标记中可用的模式,那么该模式是允许的吗? – 2009-12-04 17:16:20

+0

@克雷格:邓诺,从来没有尝试过,有一个去,让我们知道结果。 – AnthonyWJones 2009-12-05 01:52:41