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.

|