Home Xml DTD-Attributes
Questions:Ask|Latest


 
 

Share on Google+Share on Google+

DTD-Attributes

Advertisement
In a DTD, attributes are declared with an ATTLIST declaration.

DTD-Attributes

     

In a DTD, attributes are declared with an ATTLIST declaration.

Declaring Attributes

The ATTLIST declaration defines the element having a attribute with attribute name , attribute type , and  attribute default  value. An attribute declaration has the following syntax:

 

 

 

<!ATTLIST element-name attribute-name attribute-type default-value>
DTD example:
<!ATTLIST reciept type CDATA "check">
XML example:
<reciept type="check" />

Attribute-type

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

Default-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


A Default Attribute Value

DTD Example:

<!ELEMENT Scale EMPTY>
<!ATTLIST Scale length CDATA "0">

In the example above, the DTD defines a "Scale" element  to be  empty with a "length " attribute of  type CDATA . If no length is specified, it has a default value of 0.

Valid XML:

<Scale length ="100" />

REQUIRED

Syntax

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

DTD Example

<!ATTLIST person number CDATA #REQUIRED>

Valid XML:

<person id="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.

IMPLIED

Syntax

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

DTD Example

<!ATTLIST emergency no. CDATA #IMPLIED>

Valid XML:

<emergency no.="555-667788" />

Valid XML:

<emergency/>

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.

FIXED

Syntax

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

DTD Example

<!ATTLIST Client CDATA #FIXED "RoseIndia">

Valid XML:

<Client ="RoseIndia" />

Invalid XML:

<Client="LotusIndia" />

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.

Enumerated Attribute Values

Syntax

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

DTD Example

<!ATTLIST reciept type (check|cash) "cash">

XML example:

<reciept type="check" />
or
<reciept type="cash" />

Use enumerated attribute values when you want the attribute value to be one of a fixed set of legal values.

     

Advertisement

Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: May 25, 2007

Ask Questions?    Discuss: DTD-Attributes  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
DMCA.com