NMTOKEN的问题。我是否在思考它?

时间:2016-11-13 05:43:38

标签: xml debugging dtd

我还有一个关于我的XML分配的快速问题。

1)赋值表明我需要在代码中添加NMTOKEN。我只是将代码输入为<!ATTLIST catalog type NMTOKEN #REQUIRED>吗?或者我应该为它命名吗?关于NMTOKEN和NMTOKENS的篇幅很短,如果我需要做的话,并没有说明。

说明为The type attribute, a required attribute of the catalog element, containing a valid XML name

我给出的符合此指令的文件中唯一的代码是<catalog type="photos">

2)第二个问题非常类似于第一个使用NMTOKENS的问题。我是否只需制作如上所示的类似代码,但是使用了NMTOKENS?有多个代码具有相似的元素metadata。那么我会重复代码,直到我为每个元数据创建一个字符串?

问题是The metadata attribute, a required attribute of the name element, containing a list of valid XML names

符合说明的代码将是

<name metadata="watch timekeeping pocket railway">Pocket Watch</name>

<name metadata="hotel">Bergenfield Hotel</name>

<name metadata="sweeney coal fuel">Sweeney Coal</name>

<name metadata="tunis cooper property museum">Tunis R. Cooper property</name>

除了上面的四个代码串外,主编码将在外部DTD中完成,我使用代码<!DOCTYPE photos SYSTEM "photos.dtd">将其移植到XML(示例所在的位置)。以防万一有任何混淆。

感谢您的帮助或输入!

1 个答案:

答案 0 :(得分:0)

  

我只是将代码输入为<!ATTLIST catalog type NMTOKEN #REQUIRED>

  

或者我应该为它命名吗?

不确定“name”是什么意思。您无法在该attlist中添加任何其他内容而不会使其无效。 An Nmtoken (name token) is any mixture of name characters

  

我是否只需制作如上所示的类似代码,但是使用了NMTOKENS?

是。这将允许该属性包含多个NMTOKEN值。

  

有多个代码具有相似的元素元数据。那么我会重复代码,直到我为每个元数据创建一个字符串?

您是说有多个元素具有metadata属性?如果是,则是,您需要为每个元素声明属性。

希望这能回答你的问题。