From http://www.w3schools.com (Copyright Refsnes Data)
| « Previous | Next Chapter » |
In a DTD, attributes are declared with an ATTLIST declaration.
An attribute declaration has the following syntax:
|
<!ATTLIST element-name attribute-name attribute-type default-value> DTD example: <!ATTLIST payment type CDATA "check"> XML example: <payment type="check" /> |
The attribute-type can be one of the following:
| Type | Description |
|---|---|
| CDATA | The value is character data |
| (en1|en2|..) | The value must be one from an enumerated list |
| ID | The value is a unique id |
| IDREF | The value is the id of another element |
| IDREFS | The value is a list of other ids |
| NMTOKEN | The value is a valid XML name |
| NMTOKENS | The value is a list of valid XML names |
| ENTITY | The value is an entity |
| ENTITIES | The value is a list of entities |
| NOTATION | The value is a name of a notation |
| xml: | The value is a predefined xml value |
The default-value can be one of the following:
| Value | Explanation |
|---|---|
| value | The default value of the attribute |
| #REQUIRED | The attribute is required |
| #IMPLIED | The attribute is not required |
| #FIXED value | The attribute value is fixed |
|
DTD: <!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0"> Valid XML: <square width="100" /> |
In the example above, the "square" element is defined to be an empty element with a "width" attribute of type CDATA. If no width is specified, it has a default value of 0.
| <!ATTLIST element-name attribute-name attribute-type #REQUIRED> |
|
DTD: <!ATTLIST person number CDATA #REQUIRED> Valid XML: <person number="5677" /> Invalid XML: <person /> |
Use the #REQUIRED keyword if you don't have an option for a default value, but still want to force the attribute to be present.
| <!ATTLIST element-name attribute-name attribute-type #IMPLIED> |
|
DTD: <!ATTLIST contact fax CDATA #IMPLIED> Valid XML: <contact fax="555-667788" /> Valid XML: <contact /> |
Use the #IMPLIED keyword if you don't want to force the author to include an attribute, and you don't have an option for a default value.
| <!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" /> |
Use the #FIXED keyword when you want an attribute to have a fixed value without allowing the author to change it. If an author includes another value, the XML parser will return an error.
| <!ATTLIST element-name attribute-name (en1|en2|..) default-value> |
|
DTD: <!ATTLIST payment type (check|cash) "cash"> XML example: <payment type="check" /> or <payment type="cash" /> |
Use enumerated attribute values when you want the attribute value to be one of a fixed set of legal values.
| « Previous | Next Chapter » |
From http://www.w3schools.com (Copyright Refsnes Data)