微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为不同目的使用相同的元素名称(在XML和DTD中)?

我想为此xml文档创建DTD架构:
<root>

    <student>
        <name>
            <firstname>S1</firstname>
            <lastname>S2</lastname>
        </name>
    </student>

    <course>
        <name>CS101</name>
    </course>

</root>

如您所见,课程中的元素名称包含纯文本,但学生中的元素名称是复杂类型(名字,姓氏).以下是DTD:

<!ELEMENT root (course|student)*>

<!ELEMENT student (name)>
<!ELEMENT name (lastname|firstname)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>

<!ELEMENT course (name)>

当我想验证它时,我收到一个错误,因为该课程的名称与学生的名字有不同的结构.

我的问题:

>如何在不使用DTD而不是xml架构更改元素名称名称的情况下为此情况制定解决方案.

谢谢.

抱歉!这是DTD的主要限制之一:给定的元素名称始终具有相同的内容模型.

您可以做的就是放弃对该特定元素的完全验证,并允许所有可能的内容

<!ELEMENT name (#PCDATA|lastname|firstname)*>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类