2

我想使用 Visual Studio 2008 Web 项目来构建一个应用程序,该应用程序使用:

<!DOCTYPE vxml PUBLIC "-//W3C//DTD VOICEXML 2.1//EN" 
    "http://www.w3.org/TR/voicexml20/vxml.dtd">

因为它是 aspx 文件中的验证模式。但是,当我在 vxml.dtd 中编写一个标记(例如<vxml></vxml>哪个是有效标记)时,它会引发一些警告:Element 'html' occurs too few timesElement 'vxml' is not supported.

我认为这是由于工具 > 选项 > 文本编辑器 > HTML > 验证中的验证目标设置。

如何将 vxml.dtd 添加到目标下拉框中的可能设置列表中?

谢谢,本

4

1 回答 1

1

您对验证目标的假设是正确的,我认为在使用 ASPX 页面时没有任何解决方法。只有当您在 XML 编辑器中打开它时,您才会获得模式验证。您可以尝试右键单击文档并选择“打开方式...”,然后使用 XML 编辑器打开它。它应该选择您包含在 vxml 标记中的架构定义。但是我发现 VS 中的 XML 编辑器有点不稳定,并且经常使用第三方 XML 编辑器,例如Oxygen

我在使用 ASP.NET 呈现动态 VXML 时采用的方法是使用 XSLT 和一些帮助程序类来呈现文档。这样,您可以获得架构验证并使用 VS 中的 XSLT 调试器来测试您的页面是如何呈现的。我发现一个更好的方法是将 ASP.NET MVC 3 与 Razor 一起使用。CodePlex 上有一个名为 VoiceModel的开源项目,提供了有关如何使用此方法的示例。

于 2012-01-10T14:29:19.097 回答