随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。

进入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>aaa</BANNER>
        <DAY>
            <DATE>2022-2-2</DATE>
            <HOLIDAY>xxxx</HOLIDAY>
        </DAY>
        <DAY>
            <DATE>2022-2-3</DATE>
            <PROGRAMSLOT VTR="PROGRAMSLOT">
                <TIME>2022-2-3</TIME>
                <TITLE LANGUAGE="CHINESE" RATING="TITLE">title</TITLE>
                <DESCRIPTION>description</DESCRIPTION>
            </PROGRAMSLOT>
        </DAY>
    </CHANNEL>
</TVSCHEDULE>

上面的实例结论:

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

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

 

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE TVSCHEDULE SYSTEM "TV.dtd"><TVSCHEDULE NAME="TV"><CHANNEL CHAN="CHANNEL"><BANNER>aaa</BANNER><DAY><DATE>2022-2-2</DATE><HOLIDAY>xxxx</HOLIDAY></DAY><DAY><DATE>2022-2-3</DATE><PROGRAMSLOT VTR="PROGRAMSLOT"><TIME>2022-2-3</TIME><TITLE LANGUAGE="CHINESE" RATING="TITLE">title</TITLE><DESCRIPTION>description</DESCRIPTION></PROGRAMSLOT></DAY></CHANNEL></TVSCHEDULE>

posted on 2022-03-24 16:45  时间完全不够用啊  阅读(164)  评论(0编辑  收藏  举报