我有这样的代码:
<!ENTITY % id "id ID #IMPLIED">
<!ENTITY % comment "comment CDATA #REQUIRED">
...
<!ELEMENT methodology (#PCDATA)>
<!ATTLIST methodology %id;>
<!ELEMENT updated (#PCDATA)>
<!ATTLIST info %comment;>为什么评论信息ATTLIST的名称与他的元素名不同?我不知道在XML中是否更新了以下元素代码:
<updated comment="This is a comment">
DATE
</updated>发布于 2014-03-16 13:36:17
根据您的DTD,您的<updated>可能没有comment属性(除非在您省略的部分中声明了它)。
info ATTLIST是<info>元素的属性列表。ATTLIST的语法是:
<!ATTLIST element-name attribute-name attribute-type default-declaration>DTD中<info>元素的声明是:
<!ATTLIST info comment CDATA #REQUIRED>%comment;是对参数实体的引用,在文件开头声明的参数实体是有用的,如果您需要多次重用代码位。您的%comment;实体定义了一个字符串,它是ATTLIST声明的一部分。也许在代码中经常使用%comment;参数实体,因为所有或多个元素都有一个comment属性,因此您可以避免多次使用该实体重新键入它。如果updated具有comment属性,则可以将其定义为:
<!ATTLIST updated %comment;>但是,不使用实体也是完全有效的:
<!ATTLIST updated comment CDATA #REQUIRED>您的%id;实体具有相同的目的。如果没有实体,<methodology>的属性列表也可以声明为:
<!ATTLIST methodology id ID #IMPLIED>您可以阅读有关参数实体的更多信息。他们不难理解。查看本教程:http://www.ibm.com/developerworks/library/x-tiparam/
https://stackoverflow.com/questions/22427490
复制相似问题