以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  这样写有什么不对?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=6757)


--  作者:sam
--  发布时间:4/15/2004 10:01:00 AM

--  这样写有什么不对?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TEST[
 <!ELEMENT TEST (NAME,#PCDATA) >
 <!ELEMENT NAME (#PCDATA)>
]>
<TEST>
<NAME>Jack</NAME>
Hello Jack!
</TEST>
--  作者:gg_jj_ww
--  发布时间:4/15/2004 12:24:00 PM

--  
Mixed content is used to declare elements that contain a mixture of children elements and text (PCDATA).
<!ELEMENT parent_name (#PCDATA|child1_name)*>

Multiple children are declared using commas (,). Commas fix the sequence in which the children are allowed to appear in the XML document.
<!ELEMENT parent_name (child1_name,child2_name,child3_name)>


--  作者:sam
--  发布时间:4/15/2004 1:09:00 PM

--  
谢谢 gg_jj_ww
如果我要写
<TEST>
    <NAME>JACK</NAME>
    <ID>123456</ID>
    HELLO JACK!
</TEST>

那该怎么写dtd呀?


--  作者:fesser
--  发布时间:4/15/2004 4:17:00 PM

--  
When you use mixed content, the #PCDATA keyword must be listed first. This means the following is an incorrect mixed content declaration
--  作者:robert
--  发布时间:4/15/2004 4:24:00 PM

--  
<!ELEMENT TEST ANY>
--  作者:fesser
--  发布时间:4/15/2004 4:59:00 PM

--  
你可以這麼寫﹕
<!ELEMENT text (#PCDATA | name | id)*>
<!ELEMENT name (#PCDATA)>
<!ELEMENT id (#PCDATA)>

肯定可以的。我試過了


--  作者:npuhetao
--  发布时间:4/15/2004 5:34:00 PM

--  
你可以这么写,绝对可以运行成功的:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TEST[
<!ELEMENT TEST (#PCDATA|NAME|ID)* >
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT  ID  (#PCDATA)>
]>
<TEST>
<NAME>Jack</NAME>
<ID>1233</ID>
Hello Jack!
</TEST>

--  作者:sam
--  发布时间:4/16/2004 9:41:00 AM

--  
多谢仁兄,不过这样好像没法控制元素顺序
--  作者:ring_2015
--  发布时间:4/19/2004 3:15:00 AM

--  
想要控制顺序写成:
<!ELEMENT TEST (NAME,ID)>
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT ID (#PCDATA)>

这是每个TEST里只能也必须有一个NAME子元素,一个ID子元素,还必须按顺序的。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms