【问题标题】:Error while creating DTD file创建 DTD 文件时出错
【发布时间】:2015-02-11 07:15:42
【问题描述】:

我想创建一个 DTD 文件,但不幸的是我遇到了一个错误,请指教。 这是我的代码

<!ELEMENT SUB_CONDITION EMPTY >
<!ATTLIST SUB_CONDITION relation (=|<>|>|<|>=|<=|=Mask|<>Mask) #REQUIRED>

错误是说: "“关系”属性声明的枚举类型列表中需要名称标记。"

【问题讨论】:

    标签: xml dtd


    【解决方案1】:

    &lt;=&gt; 字符(#x003C、#x003D、#x003E)不允许在声明为枚举的属性值中。

    在声明为具有enumerated values 的属性中,值必须匹配Nmtoken(一个或多个NameChars)。这不包括几个字符,包括&lt;=&gt;,它们不属于the definition of NameChar

    &lt; 尤其麻烦(它是 XML 标记中的开始标记分隔符),是 not allowed in any attributes

    【讨论】:

    • 谢谢mzjn的回复,那么在这种情况下你建议我怎么做,我需要将这些字符放在枚举值中。
    • 如果您必须有枚举值,您可以使用允许的字符重命名它们。可能是这样的:(eq|neq|gt|lt|gtoreq|ltoreq|eqMask|neqMask).
    猜你喜欢
    • 2016-10-28
    • 1970-01-01
    • 2018-08-17
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多