Cargando...
Es una W3C Recommendation que surge como sucesor del DTD (Document Type Definition) pero con mayor potencia descriptiva.
A diferencia del DTD, que tenía su propia sintaxis, los XMLSchema son documentos XML empleados para describir la estructura de otros documentos XML:
Permiten definir nuevos tipos de datos y soportan herencia entre tipos de datos. Asi es posible la reutilización de un xml-schema en otro.
Cabe distinguir entre documento valido y documento bien formado.
Un documento válido será aquel que cumpla el XMLSchema que lo define.
Y un documento bien formado es aquel que sigue las reglas de sintaxis XML:
El elemento Raíz es:
<xs:schema> … </xs:schema>
Definición de un Elemento Simple
Es aquel que contiene sólo texto. No contiene a ningún otro elemento. Tampoco tiene atributos.
<xs:element name=”xxx” type=”yyy” default=”zzz” /> (valor por defecto)
<xs:element name=”xxx” type=”yyy” fixed=”zzz” /> (valor prefijado)
Entre los tipos predefinidos:
Definición de un Elemento Complejo
Son aquellos elementos que tiene atributos o se componen de otros elementos o son elementos vacíos (puede tener atributos) o son elementos que contienen solo texto
Definir un elemento complejo compuesto por otro elementos
Al introducir los atributos dentro de <sequence> obliga a ese orden.
<xs:element name=”person”>
<xs:complexType>
<xs:sequence>
<xs:element name=”firstname” type=”xs:string”/>
<xs:element name=”lastname” type=”xs:string”/>
</xs:sequence>
</xs:complexType>
</xs:element>
De esta forma los atributos firstname y lastname se pueden aplicar a otros elementos.
<xs:element name=”employee” type=”personinfo”/>
<xs:complexType name=”personinfo”>
<xs:sequence>
<xs:element name=”firstname” type=”xs:string”/>
<xs:element name=”lastname” type=”xs:string”/>
</xs:sequence>
</xs:complexType>
Definir un elemento complejo compuesto por elementos vacíos (puede tener atributos).
<xs:element name=”product”>
<xs:complexType>
<xs:attribute name=”prodid” type=”xs:positiveInteger”/>
</xs:complexType>
</xs:element>
Definir un elemento complejo compuesto contienen solo texto
Se define mediante un “simpleContent”. Para estos casos hay que definir una “extensión” o una “restricción”.
<xs:element name=”somename”>
<xs:complexType>
<xs:simpleContent>
<xs:extension base=”basetype”>
….
….
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Definir un elemento complejo de contenido mixto (texto y otros elementos)
Para ello hay que usar el atributo mixed con valor true.
<xs:element name=”letter”>
<xs:complexType mixed=”true”>
<xs:sequence>
<xs:element name=”name” type=”xs:string”/>
<xs:element name=”orderid” type=”xs:positiveInteger”/>
<xs:element name=”shipdate” type=”xs:date”/>
</xs:sequence>
</xs:complexType>
</xs:element>
Declaración de atributos
Pueden tener un valor por defecto o prefijado (este no se puede modificar). Y pueden ser obligatorios u opcionales
<xs:attribute name=”xxx” type=”yyy” default=”zzz” />
<xs:attribute name=”xxx” type=”yyy” fixed=”zzz” />
<xs:attribute name=”xxx” type=”yyy” use=”required” />
Definición de restricciones
También se conocen como facets. Las restricciones se usan para definir los valores aceptables de los elementos o atributos.
Indicadores
Establecen cómo deben aparecer o usarse los elementos definidos dentro del doc XML.
Imprime este post
2 comentarios sobre XML Schema
[...] Especificaciones XML XML (eXtensible Markup Language) surge como un formato estandarizado para el intercambio de información entre sistemas. Se desarrolla a partir del lenguaje SGML (ISO 8879). Si bien inicialmente se definia la estructura de los documentos mediante el DTD, finalmente se ha obtado por definirlaempleando a su vez una gramática XML: XMLSchema. [...]
[...] XML (eXtensible Markup Language) surge como un formato estandarizado para el intercambio de información entre sistemas. Se desarrolla a partir del lenguaje SGML (ISO 8879). Si bien inicialmente se definia la estructura de los documentos mediante el DTD, finalmente se ha obtado por definirlaempleando a su vez una gramática XML: XMLSchema. [...]
Deja tu comentario sobre XML Schema
*Nota: Sólo se tendrán en cuenta los comentarios correctamente redactados y que estén relacionados con el tema de la entrada.RSS a los comentarios de esta entrada · TrackBack URI