我想为此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 举报,一经查实,本站将立刻删除。