XML 教程

XML 教程 XML 简介 XML 用途 XML 树结构 XML 语法 XML 元素 XML 属性 XML 命名空间 XML Display XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 验证器 XML DTD XML Schema XML 服务器 XML 实例 XML 测验

XML AJAX

AJAX 简介 AJAX XMLHttp AJAX 请求 AJAX 响应 AJAX XML 文件 AJAX PHP AJAX ASP AJAX 数据库 AJAX 应用程序 AJAX 实例

XML DOM

DOM 简介 DOM 节点 DOM 访问节点 DOM 节点信息 DOM 节点列表 DOM 节点遍历 DOM 节点导航 DOM 获取节点 DOM 更改节点 DOM 删除节点 DOM 替换节点 DOM 创建节点 DOM 添加节点 DOM 克隆节点 DOM 实例

XPath 教程

XPath 简介 XPath 节点 XPath 语法 XPath 轴(Axes) XPath 运算符 XPath 实例

XSLT 教程

XSLT 简介 XSL 语言 XSLT 转换 XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT 客户端 XSLT 服务端 XSLT 编辑 XML XSLT 实例

XQuery 教程

XQuery 简介 XQuery 实例 XQuery FLWOR 表达式 XQuery FLWOR + HTML XQuery 术语 XQuery 语法 XQuery 添加元素和属性 XQuery 选择和过滤 XQuery 函数

XML DTD

DTD 简介 DTD 构建模块 DTD 元素 DTD 属性 DTD 元素 vs. 属性 DTD 实体 DTD 实例

XSD Schema

XSD 简介 XSD How To XSD <schema> XSD 元素 XSD 属性 XSD 限制

XSD Complex

XSD 复杂元素 XSD 空元素 XSD 仅限元素 XSD 纯文本元素 XSD 混合 XSD 指示器 XSD <any> XSD <anyAttribute> XSD 替换 XSD 实例

XSD 数据类型

XSD 字符串 XSD 日期 XSD 数值 XSD 杂项 XSD 参考手册

Web Services

XML Services 简介 XML WSDL XML SOAP XML RDF XML RSS

参考手册

DOM 节点类型 DOM 节点 DOM NodeList DOM NamedNodeMap DOM 文档 DOM 元素 DOM 属性 DOM 文本 DOM CDATA DOM 注释 DOM XMLHttpRequest DOM 解析器 XSLT 元素 XSLT/XPath 函数


DTD - 属性

在DTD中,属性是用ATTLIST声明声明的。


声明属性

属性声明具有以下语法:

<!ATTLIST element-name attribute-name attribute-type attribute-value>

DTD 示例:

<!ATTLIST payment type CDATA "check">

XML 示例:

<payment type="check" />

属性类型可以是以下类型之一:

类型 描述
CDATA 值是字符数据
(en1|en2|..) 值必须是枚举列表中的值
ID 该值是唯一的id
IDREF 值是另一个元素的id
IDREFS 该值是其他ID的列表
NMTOKEN 该值是有效的XML名称
NMTOKENS 该值是有效XML名称的列表
ENTITY 值是一个实体
ENTITIES 值是实体列表
NOTATION 值是表示法的名称
xml: 该值是预定义的xml值

属性值可以是以下值之一:

解释
value 属性的默认值
#REQUIRED 属性是必需的
#IMPLIED 属性是可选的
#FIXED value 属性值是固定的


默认属性值

DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">

Valid XML:
<square width="100" />

在上面的实例中,"square"元素被定义为具有CDATA类型的"width"属性的空元素。如果未指定宽度,则默认值为0。


#REQUIRED

语法

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

实例

DTD:
<!ATTLIST person number CDATA #REQUIRED>

Valid XML:
<person number="5677" />

Invalid XML:
<person />

如果没有默认值的选项,但仍希望强制属性存在,请使用#REQUIRED关键字。


#IMPLIED

语法

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

实例

DTD:
<!ATTLIST contact fax CDATA #IMPLIED>

Valid XML:
<contact fax="555-667788" />

Valid XML:
<contact />

如果不想强制作者包含属性,并且没有默认值选项,请使用#impliced关键字。


#FIXED

语法

<!ATTLIST element-name attribute-name attribute-type #FIXED "value">

实例

DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">

Valid XML:
<sender company="Microsoft" />

Invalid XML:
<sender company="W3Schools" />

如果希望属性具有固定值而不允许作者更改它,请使用#FIXED关键字。如果作者包含另一个值,XML解析器将返回一个错误。


枚举属性值

语法

<!ATTLIST element-name attribute-name (en1|en2|..) default-value>

实例

DTD:
<!ATTLIST payment type (check|cash) "cash">

XML 示例:
<payment type="check" />

<payment type="cash" />

如果希望属性值是一组固定的合法值之一,请使用枚举属性值。