XML之W3C案例


进入W3C官网的DTD学习中:

 点击进入DTD实例:

上面的案例代码是内部DTD文档,现在需要创建一个外部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>

然后创建xml文档引入上面的dtd文档并编写代码:

<?xml version="1.0" encoding="UTF-8"?>
DOCTYPE TVSCHEDULE SYSTEM "TV.dtd">
<TVSCHEDULE NAME="TV">
    <CHANNEL CHAN="CHANNEL">
        <BANNER>aaaBANNER>
        <DAY>
            <DATE>2022-2-2DATE>
            <HOLIDAY>xxxxHOLIDAY>
        DAY>
        <DAY>
            <DATE>2022-2-3DATE>
            <PROGRAMSLOT VTR="PROGRAMSLOT">
                <TIME>2022-2-3TIME>
                <TITLE LANGUAGE="CHINESE" RATING="TITLE">titleTITLE>
                <DESCRIPTION>descriptionDESCRIPTION>
            PROGRAMSLOT>
        DAY>
    CHANNEL>
TVSCHEDULE>

上面的实例结论:

先写根元素,再看复杂元素,然后按照复杂元素中简单元素的顺序和次数进行编写(每当增加一个复杂元素标签的时候,都必须按顺序对其中的简单元素进行编写);

例如上面代码中的每当增加一个DAY标签,都必须按照其中的元素顺序次数要求进行编写;

<?xml version="1.0" encoding="UTF-8"?>aaa2022-2-2xxxx2022-2-3titledescription