以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  求助一个关于DTD的设计问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=32975)


--  作者:玄天小菜
--  发布时间:5/24/2006 3:43:00 PM

--  求助一个关于DTD的设计问题
在对文档中的某一结点所具有的子结点作定义时。要求该结点的子结点为给定集合中的一个,该如何定义、?

我举个例子假设当前结点为a,要求他的子结点要么是b,要么是c,要么是d
即结构...a-b...  ..a-c...   a-d....都符合该DTD的定义,可以通过DTD检查

谢谢,急用


--  作者:flyfoxs
--  发布时间:5/24/2006 5:16:00 PM

--  
<!ELEMENT beans ((a| b| c)?)>

上面的定义就表示,beans要么没有子节点,要么就有a,b,c中的某个节点,并且只能出现其中一个。


--  作者:玄天小菜
--  发布时间:5/24/2006 5:33:00 PM

--  
谢谢,那这个BEANS是可以定义为任意的吧,比如

<!ELEMENT root ((a | b |c)?)>

和JAVA BEAN没什么关系吧.

该语句在同一DTD中是否可以重复使用,比如:即,当再定义b结点时,继续使用如上句法

<!ELEMENT b ((x | y | z)?)>

不胜感激


--  作者:qi1ming11
--  发布时间:5/25/2006 1:06:00 PM

--  
可以.看你的原文叙述,如果强制必须拥有一个节点.应该是这样root((a|b|c)+)
--  作者:flyfoxs
--  发布时间:5/25/2006 1:25:00 PM

--  
以下是引用玄天小菜在2006-5-24 17:33:00的发言:
谢谢,那这个BEANS是可以定义为任意的吧,比如

<!ELEMENT root ((a | b |c)?)>

和JAVA BEAN没什么关系吧.

该语句在同一DTD中是否可以重复使用,比如:即,当再定义b结点时,继续使用如上句法

<!ELEMENT b ((x | y | z)?)>

不胜感激


理解正确


--  作者:玄天小菜
--  发布时间:5/26/2006 1:10:00 PM

--  
多谢两位达人,问题已经解决.ganxie
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms