Академический Документы
Профессиональный Документы
Культура Документы
Definition)
XSD es un formato para definir la estructura de un documento XML. XSD sustituye al anterior formato DTD, y
aade funcionalidad para definir la estructura XML con ms detalle.
Ejemplo de documento XSD:
1 <?xml version="1.0"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
3 <xs:element name="note">
4
<xs:complexType>
5
<xs:sequence>
6
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
7
<xs:element name="heading" type="xs:string"/>
8
<xs:element name="body" type="xs:string"/>
9
</xs:sequence>
10
</xs:complexType>
11
12 </xs:element>
13</xs:schema>
Como podemos ver, el propio documento XSD est tambin escrito en XML.
En el esquema se definen los elementos de que puede constar el documento XML, y los tipos de datos que pueden
contener, mediante lineas de la forma:
<xs:element name="nombre_del_elemento" type="tipo_de_datos" />
Los tipos de datos ms comunes son:
xs:string
xs:decimal
xs:integer
xs:boolean
xs:date
xs:time
Un elemento tambin puede tener atributos. Los atributos se definen igual que los elementos, sustituyendo xs:element
por xs:attribute. Ejemplos:
1<xs:attribute name="lang" type="xs:string" use="required"/>
2<xs:attribute name="lang" type="xs:string" use="optional" default="es"/>
Tambin podemos crear nuevos tipos de datos, estableciendo restricciones sobre los valores posibles de un tipo de
datos predefinido. Ejemplos;
1
<xs:element name="age">
2
<xs:simpleType>
3
<xs:restriction base="xs:integer">
4
<xs:minInclusive value="0"/>
5
<xs:maxInclusive value="120"/>
6
</xs:restriction>
7
</xs:simpleType>
8 </xs:element>
9 <xs:element name="car">
10 <xs:simpleType>
11
<xs:restriction base="xs:string">
12
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
13
<xs:enumeration value="BMW"/>
14
</xs:restriction>
15
16 </xs:simpleType>
17</xs:element>
18
19<xs:element name="letter">
20<xs:simpleType>
21<xs:restriction base="xs:string">
22<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
23
</xs:simpleType>
24
</xs:element>
25
Description
enumeration
fractionDigits
Specifies the maximum number of decimal places allowed. Must be equal to or greater than zero
length
Specifies the exact number of characters or list items allowed. Must be equal to or greater than zero
maxExclusive
maxInclusive
Specifies the upper bounds for numeric values (the value must be less than this value)
Specifies the upper bounds for numeric values (the value must be less than or equal to this value)
maxLength
Specifies the maximum number of characters or list items allowed. Must be equal to or greater than
zero
minExclusive
Specifies the lower bounds for numeric values (the value must be greater than this value)
minInclusive
Specifies the lower bounds for numeric values (the value must be greater than or equal to this
value)
minLength
Specifies the minimum number of characters or list items allowed. Must be equal to or greater than
zero
pattern
totalDigits
whiteSpace
Specifies how white space (line feeds, tabs, spaces, and carriage returns) is handled
o
o
o
Indicadores
Existen siete indicadores que pueden ser utilizados en la definicin de un tipo compuesto.
Indicadores de orden:
o
o
o
Indicadores de ocurrencia:
Por defecto, los elementos definidos como parte de un tipo compuesto deben aparecer exactamente una vez. Los
atributos maxOccurs and minOccurs modifican este requisito:
o
o
maxOccurs=n Atributo que indica que el elemento puede aparecer varias veces, hasta un
mximo de n veces. Si especificamos maxOccurs=unbounded, el elemento puede aparecer un
nmero indefinido de veces.
minOccurs=n Atributo que indica que el elementos debe aparecer un mnimo de n veces.
minOccurs=0, significa que el elemento es opcional, y puede no aparecer.
Indicadores de grupo:
o