XSD Attributes

Here all attributes are declared as simple types.

XSD Attributes

--Ads--

XSD Attributes

     

All attributes are declared as simple types.

What is an Attribute?

Simple elements do not contain attributes. If an element has attributes, then it is of a complex type element. But the attribute itself is always declared as a simple type.

Defining an Attribute?

The syntax for defining an attribute is:

<xs:attribute name="aaa" type="bbb"/>

where aaa is the name of the attribute and bbb specifies the data type of the attribute.

XML Schema has a lot of built-in data types. The most common types are:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

Example:

Here is an XML element with an attribute:

<name lang="EN">Rahul</name>

And here is the corresponding attribute definition:

<xs:attribute name="lang" type="xs:string"/>
 

Default Values for Attributes

Attributes may have a specified default value OR a  specified fixed value A default value is automatically assigned to the attribute when no other value is specified for example..the default value is "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Fixed Values for Attributes

A fixed value is automatically assigned to the attribute, and it cannot further specify another value for example..the fixed value is "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Optional and Required Attributes

Attributes are optional by default. To specify that the attribute is required, use the "use" attribute:

<xs:attribute name="lang" type="xs:string" use="required"/>

Restrictions on Content

When an XML element or attribute has a data type defined, it can put restrictions on the element's or attribute's content. If an XML element is of type "xs:age" and contains a string like "Hello", the element will not validate. With XML Schemas, user can also add his own restrictions to  XML elements and attributes. These restrictions are called facets.