我需要编写类似
的XML <student Name = "aaa">
<subject id="abc">
<assignment id="1">
<name>ddd</name>
<Submission>12/2/1999</Submission>
</assignment>
<assignment id="2">
<name>ddd</name>
<Submission>12/2/1999</Submission>
</assignment>
</subject>
<subject id="hjd">
<assignment id="1">
<name>ddd</name>
<Submission>12/2/1999</Submission>
</assignment>
<assignment id="2">
<name>ggg</name>
<Submission>12/2/1999</Submission>
</assignment>
</subject>
</student>
至于我的DTD文件(因为我需要将其作为外部DTD编写)
我把它写成
<!ELEMENT student (subject*)>
<!ELEMENT subject (assignment*)>
<!ELEMENT assignment (name,submission)>
<!ATTLIST student name PCDATA #REQUIRED>
<!ATTLIST subject ID PCDATA #REQUIRED>
<!ATTLIST assignment ID PCDATA #REQUIRED>
提交必须采用日期格式,我不知道这有什么问题。有人可以帮忙吗?
答案 0 :(得分:0)
就像potame所说,你可以根据DTD验证你的XML,看看它是否正确。但是,我确实看到了一些肯定不正确的事情......
PCDATA
。请改用CDATA
。student
元素,您声明属性name
,但您的XML使用属性Name
。案件很重要。ID
和subject
的{{1}}属性的类似问题;案件应该匹配。assignment
元素必须包含一个assignment
元素,后跟一个name
元素,但您不会声明这些元素。 (此外,您的XML使用submission
。同样,案件很重要。)这是一个更正的DTD和实例。我还改变了DTD的格式和顺序,使其更容易阅读,但那部分并不重要。
XML DTD
Submission
XML实例
<!ELEMENT student (subject*)>
<!ATTLIST student
name CDATA #REQUIRED>
<!ELEMENT subject (assignment*)>
<!ATTLIST subject
id CDATA #REQUIRED>
<!ELEMENT assignment (name,submission)>
<!ATTLIST assignment
id CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT submission (#PCDATA)>
您还应该在XML中引用带有DOCTYPE声明的DTD,但我不知道您提交此数据的方式或位置。
我也不知道&#34; 提交必须采用日期格式&#34;手段。什么格式? ISO 8601?如果您提供更多详细信息,我应该能够回答有关日期格式的任何问题。