枚举和加号一起在 DTD 文件中?
Enumeration and Plus sign together in DTD file?
我有以下 .dtd
文件
<!ELEMENT TVSCHEDULE (CHANNEL+)>
<!ELEMENT CHANNEL (BANNER,DAY+)>
<!ELEMENT BANNER (#PCDATA)>
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
<!ELEMENT HOLIDAY (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)>
<!ELEMENT TIME (#PCDATA)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT DESCRIPTION (#PCDATA)>
<!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED>
<!ATTLIST CHANNEL CHAN CDATA #REQUIRED>
<!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED>
<!ATTLIST TITLE RATING CDATA #IMPLIED>
<!ATTLIST TITLE LANGUAGE CDATA #IMPLIED>
这行我不太明白:
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
对于元素DAY
,它有DATE
和Enumeration
+(HOLIDAY
或PROGRAMSLOT+
),在下面的语句中,哪一个正确吗?
一个。 DAY
元素仅包含 DATE
和多个 HOLIDAY
仅
乙。 DAY
元素仅包含 DATE
和多个 PROGRAMSLOT
仅
C。 DAY
元素包含 DATE
和多个 HOLIDAY
& PROGRAMSLOT
不明白为什么不能简化为
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT)+)>
谢谢
我认为是C:
您必须有一个 DAY 后跟一个序列,其中序列中的每个项目都是 HOLIDAY 类型或 PROGRAMSLOT
序列
没看出 PROGRAMSLOT+ 的意义。有
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT)+)>
您可以获得相同的灵活性。
我认为以下所有示例都是正确的:
DATE, HOLIDAY, HOLIDAY,HOLIDAY
DATE, PROGRAMSLOT, PROGRAMSLOT, PROGRAMSLOT
DATE, PROGRAMSLOT, HOLIDAY, HOLIDAY, PROGRAMSLOT
DATE, HOLIDAY, PROGRAMSLOT, HOLIDAY, PROGRAMSLOT
以下示例无效:
DATE, DATE // DATE can only occur once
DATE // the group of HOLIDAY OR PROGRAMLIST must occur at least once
HOLIDAY, DATE // DATE must be the first element
我有以下 .dtd
文件
<!ELEMENT TVSCHEDULE (CHANNEL+)>
<!ELEMENT CHANNEL (BANNER,DAY+)>
<!ELEMENT BANNER (#PCDATA)>
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
<!ELEMENT HOLIDAY (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)>
<!ELEMENT TIME (#PCDATA)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT DESCRIPTION (#PCDATA)>
<!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED>
<!ATTLIST CHANNEL CHAN CDATA #REQUIRED>
<!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED>
<!ATTLIST TITLE RATING CDATA #IMPLIED>
<!ATTLIST TITLE LANGUAGE CDATA #IMPLIED>
这行我不太明白:
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
对于元素DAY
,它有DATE
和Enumeration
+(HOLIDAY
或PROGRAMSLOT+
),在下面的语句中,哪一个正确吗?
一个。 DAY
元素仅包含 DATE
和多个 HOLIDAY
仅
乙。 DAY
元素仅包含 DATE
和多个 PROGRAMSLOT
仅
C。 DAY
元素包含 DATE
和多个 HOLIDAY
& PROGRAMSLOT
不明白为什么不能简化为
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT)+)>
谢谢
我认为是C: 您必须有一个 DAY 后跟一个序列,其中序列中的每个项目都是 HOLIDAY 类型或 PROGRAMSLOT
序列没看出 PROGRAMSLOT+ 的意义。有
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT)+)>
您可以获得相同的灵活性。 我认为以下所有示例都是正确的:
DATE, HOLIDAY, HOLIDAY,HOLIDAY
DATE, PROGRAMSLOT, PROGRAMSLOT, PROGRAMSLOT
DATE, PROGRAMSLOT, HOLIDAY, HOLIDAY, PROGRAMSLOT
DATE, HOLIDAY, PROGRAMSLOT, HOLIDAY, PROGRAMSLOT
以下示例无效:
DATE, DATE // DATE can only occur once
DATE // the group of HOLIDAY OR PROGRAMLIST must occur at least once
HOLIDAY, DATE // DATE must be the first element