首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XML验证错误

XML验证错误
EN

Stack Overflow用户
提问于 2009-09-14 11:49:34
回答 4查看 492关注 0票数 2

我正在尝试验证以下XML,但我无法验证,请您指出错误吗?

代码语言:javascript
复制
<!-- menu: its a menu -->
<menu id="Welcome">
    <!--audio: file to play -->
    <audio src="D:\Telephony\VOXs\Welcome.vox" />
</menu>

<!-- form: its a menu -->
<menu id="LanguageSelection">
    <audio src="D:\Telephony\VOXs\LanguageSelection.vox" />

    <input timeout="5" max_timeout="2" max_invalid_input="2" valid_dtmfs="1, 2">

        <!-- noinput: if timeout occurred, execute this -->
        <noinput>
            <audio src="D:\Telephony\VOXs\Timeout.vox" />
        </noinput>

        <!-- nomatch: if wrong dtmf given, following will execute -->
        <nomatch>
            <audio src="D:\Telephony\VOXs\InvalidInput.vox" />
        </nomatch>

        <switch>
            <dtmf-1>
                <audio src="D:\Telephony\VOXs\EnglishSelected.vox" />
            </dtmf-1>

            <dtmf-2>
                <audio src="D:\Telephony\VOXs\UrduSelected.vox" />
            </dtmf-2>
        </switch>
    </input>
</menu>

<menu id="MainMenu">
    <audio src="D:\Telephony\VOXs\MainMenu.vox" />

    <input timeout="5" max_timeout="2" max_invalid_input="2" valid_dtmfs="1, 2">

        <!-- noinput: if timeout occurred, execute this -->
        <noinput>
            <audio src="D:\Telephony\VOXs\Timeout.vox" />
        </noinput>

        <!-- nomatch: if wrong dtmf given, following will execute -->
        <nomatch>
            <audio src="D:\Telephony\VOXs\InvalidInput.vox"/>
        </nomatch>

        <switch>
            <dtmf-1>
                <goto menu="InformationMenu" />
            </dtmf-1>

            <dtmf-2>
                <goto menu="SupportMenu" />
            </dtmf-2>
        </switch>
    </input>
</menu>

在使用Validome.org进行验证时,我会得到以下错误。

错误:文档中根元素后面的标记必须是格式良好的。

错误位置:<menu id="LanguageSelection">

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-14 11:56:27

您有多个顶级元素<menu>

试试看以下几点。我添加了<MenuItems>作为顶级元素,并在最后关闭了它。

代码语言:javascript
复制
<MenuItems>
<!-- menu: its a menu -->
<menu id="Welcome">
    <!--audio: file to play -->
    <audio src="D:\Telephony\VOXs\Welcome.vox" />
</menu>

<!-- form: its a menu -->
<menu id="LanguageSelection">
    <audio src="D:\Telephony\VOXs\LanguageSelection.vox" />

    <input timeout="5" max_timeout="2" max_invalid_input="2" valid_dtmfs="1, 2">

        <!-- noinput: if timeout occurred, execute this -->
        <noinput>
                <audio src="D:\Telephony\VOXs\Timeout.vox" />
        </noinput>

        <!-- nomatch: if wrong dtmf given, following will execute -->
        <nomatch>
                <audio src="D:\Telephony\VOXs\InvalidInput.vox" />
        </nomatch>

        <switch>
                <dtmf-1>
                        <audio src="D:\Telephony\VOXs\EnglishSelected.vox" />
                </dtmf-1>

                <dtmf-2>
                        <audio src="D:\Telephony\VOXs\UrduSelected.vox" />
                </dtmf-2>
        </switch>
    </input>
</menu>

<menu id="MainMenu">
    <audio src="D:\Telephony\VOXs\MainMenu.vox" />

    <input timeout="5" max_timeout="2" max_invalid_input="2" valid_dtmfs="1, 2">

        <!-- noinput: if timeout occurred, execute this -->
        <noinput>
                <audio src="D:\Telephony\VOXs\Timeout.vox" />
        </noinput>

        <!-- nomatch: if wrong dtmf given, following will execute -->
        <nomatch>
                <audio src="D:\Telephony\VOXs\InvalidInput.vox"/>
        </nomatch>

        <switch>
                <dtmf-1>
                        <goto menu="InformationMenu" />
                </dtmf-1>

                <dtmf-2>
                        <goto menu="SupportMenu" />
                </dtmf-2>
        </switch>
    </input>
</menu>
</MenuItems>

您可以通过在ie中打开xml来快速检查xml。当我打开您的xml时,这就是我得到的。

代码语言:javascript
复制
Only one top level element is allowed in an XML document. Error processing resource 'file://Users/shoban/...

<menu id="LanguageSelection">
-^
票数 2
EN

Stack Overflow用户

发布于 2009-09-14 11:58:28

您需要一个根级元素。例如,将菜单元素包装在<menus>标记中。

代码语言:javascript
复制
<menus>
    <menu>
    </menu>
    <menu>
    </menu>
</menus>
票数 2
EN

Stack Overflow用户

发布于 2009-09-14 12:02:59

形成良好

摘要: XML规范将XML文档定义为格式良好的文本,即满足规范中提供的语法规则列表。清单相当长;一些要点是:

  1. 它只包含正确编码的合法Unicode字符。
  2. 除了执行标记描述角色时,"<“和"&”等特殊语法字符都不会出现。
  3. 分隔元素的开始、结束和空元素标记是正确嵌套的,没有遗漏,也没有重叠。
  4. 元素标记区分大小写;开始标记和结束标记必须完全匹配。
  5. 有一个“根”元素,它包含所有其他元素。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1421078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档