我对XML很陌生,有人能告诉我这段代码究竟应该做什么吗?
<?xml version="1.0" encoding="ISO-8859"?>
<!DOCTYPE person [
<!ELEMENT first_name(#PCDATA)>
<!ELEMENT last_name(#PCDATA)>
<!ELEMENT PROFESSION(#PCDATA)>
<!ELEMENT name(first_name, last_name)>
<!ELEMENT person (name, profession)>]>
<person>
<name>
<last_name>Jack</last_name>
<last_name>Jill</last_name>
</name>
</person>
答案 0 :(得分:8)
这是一个XML文件,它本身不会做任何事情。相反,它似乎定义了一个具有两个姓氏的“人”(但该文件无效,因为DTD表示名字和姓氏)。
答案 1 :(得分:4)
这是一个嵌入式DTD,它规定哪些元素以哪种顺序被允许,例如: “name”元素必须包含first_name,后跟last_name。
这是一种非传统的方法,但应该是有效的。通常,DTD是外部文件,而不是嵌入在源文档中。
答案 2 :(得分:1)
xml文档首先通过prolog(<?xml
)表明它是一个xml文档。定义了一个可选的DOCTYPE,这基本上只是文档中所有可能元素和属性的列表,最后实际文档本身定义为person
是根节点,name
是第一个孩子,有两个子节点last_name
。
我认为name
下的第一个节点应该是first_name
,而不是last_name
。