Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 两个简单DTD声明之间的差异_Xml_Dtd - Fatal编程技术网

Xml 两个简单DTD声明之间的差异

Xml 两个简单DTD声明之间的差异,xml,dtd,Xml,Dtd,有人能解释一下以下DTD语句之间的区别吗 <!ELEMENT all (book+, dvd+)> 及 不了解dtd: 我认为第一本应该至少包含一本书和一张dvd。但可能包含许多书籍和/或dvd 第二个包含至少一本书或一张dvd。但是可能包含许多书籍和/或dvd。内容模型(book+,dvd+)匹配一系列元素:首先,一个或多个书籍元素(即book+),然后(即,)一个或多个dvd元素(即dvd+)。因此,以下内容与此内容模型相匹配: 等等 内容模型(book,dvd)+

有人能解释一下以下DTD语句之间的区别吗

<!ELEMENT all (book+, dvd+)>


不了解dtd:

我认为第一本应该至少包含一本书和一张dvd。但可能包含许多书籍和/或dvd

第二个包含至少一本书或一张dvd。但是可能包含许多书籍和/或dvd。

内容模型(book+,dvd+)匹配一系列元素:首先,一个或多个书籍元素(即
book+
),然后(即
)一个或多个dvd元素(即
dvd+
)。因此,以下内容与此内容模型相匹配:

  • 等等

    内容模型(book,dvd)+匹配由一本书和一张dvd组成的序列的一个或多个实例。因此,以下内容与之匹配:

  • 等等

    区别在于,在第一个表达式中,两个+运算符应用于单个元素名称book和dvd;在第二种情况下,+作为一个整体应用于序列(书籍、dvd)


    请注意,在两种内容模型下,每个列表中的第一个示例都是合法的,其他示例都不合法。

    对不起,回答错误。两者必须至少包含一本书和一张dvd。@C.M.Sperberg-McQueen您确定吗?嗯,好吧,如果你这么说的话。这个理论怎么样:第一个应该至少包含一本书和一张DVD。第二张也是,但DVD的数量应该和书的数量一样吗?
    <!ELEMENT all (book, dvd)+>