DTD示例3

如果DTD中的元素名称后跟星号*,则此元素可以出现零次,一次或多次。

DTD

根元素XXX可以包含零个或多个元素AAA,后前恰好只跟一个元素BBB。 元素BBB必须始终存在:

<!ELEMENT XXX (AAA* , BBB)>
<!ELEMENT AAA (#PCDATA)>
<!ELEMENT BBB (#PCDATA)>

有效文档

以下是一个有效文档 -

<!DOCTYPE XXX SYSTEM tutorial.dtd>
<XXX> <AAA/> <BBB/> </XXX>

下面也是一个有效文档。 元素AAA不是强制性的:

<!DOCTYPE XXX SYSTEM tutorial.dtd>

<XXX> <BBB/> </XXX>

文档中可能出现几个AAA元素:

<!DOCTYPE XXX SYSTEM tutorial.dtd>

<XXX> <AAA/> <AAA/> <AAA/> <AAA/> <AAA/> <AAA/> <AAA/> <BBB/> </XXX>

有错误的文件

元素BBB缺失:

<!DOCTYPE XXX SYSTEM tutorial.dtd>

<XXX>    </XXX>

元素BBB必须在元素AAA之后:

<!DOCTYPE XXX SYSTEM tutorial.dtd>

<XXX> <BBB/> <AAA/> </XXX>

元素AAA不得在元素BBB之后:

<!DOCTYPE XXX SYSTEM tutorial.dtd>

<XXX> <AAA/> <AAA/> <AAA/> <AAA/> <BBB/> <AAA/> <AAA/> </XXX>