请告诉我如何扩展以下代码,以便在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>
<first_name>Jack</first_name>
<last_name>Jill</last_name>
</name>
<profession>website</profession>
</person>
感谢您的回答
答案 0 :(得分:3)
这样的事情应该做
<?xml version=”1.0” encoding=”ISO-8859”?>
<!DOCTYPE person [
<!ELEMENT first_name ( #PCDATA ) >
<!ELEMENT last_name ( #PCDATA ) >
<!ELEMENT name ( first_name, last_name ) >
<!ELEMENT person ( name, professions ) >
<!ELEMENT profession ( #PCDATA ) >
<!ELEMENT professions ( profession+ ) >
]>
<person>
<name>
<first_name>Jack</first_name>
<last_name>Jill</last_name>
</name>
<professions>
<profession>website</profession>
<profession>some other profession</profession>
</professions>
</person>
答案 1 :(得分:1)
文档顶部的DTD为每个人元素指定一个名称和一个职业。
将其更改为使用+(如果您需要一个或多个职业)或*(如果您想要0个或更多职业):
<!ELEMENT person (name, profession+)
或
<!ELEMENT person (name, profession*)
请注意,DTD相当不合时宜,通常由XSD规范取代,后者更灵活,并且本身用XML编写。
答案 2 :(得分:1)
将DTD更改为
<?xml version=”1.0” encoding=”ISO-8859”?>
<!DOCTYPE person [
<!ELEMENT first_name (#PCDATA)>
<!ELEMENT last_name (#PCDATA)>
<!ELEMENT profession (#PCDATA)>
<!ELEMENT professions (profession*)>
<!ELEMENT name (first_name, last_name)>
<!ELEMENT person (name, professions)>]>
<person>
<name>
<first_name>Jack</first_name>
<last_name>Jill</last_name>
</name>
<professions>
<profession>prof 1</profession>
<profession>prof 2</profession>
</professions>
</person>