XSD XML Schema Definition
De FFAWiki
La revisió el 20:44, 8 des 2020 per Mayola (discussió | contribucions)
El XSD és un llenguatge d'esquema utilitzat per descriure l'estructura i les restriccions dels continguts dels documents XML d'una forma molt precisa, més enllà de les normes sintàctiques imposades pel mateix llenguatge XML. S'aconsegueix així, una percepció del tipus de document amb un alt nivell d'abstracció.
Plantilla
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- <xs:element name="titol" type="xs:string"/>
- <xs:attribute name="nom" type="xs:string"/>
- <xs:element name="llibre">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="titol" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute ref="nom"/>
- </xs:complexType>
- </xs:element>
</xs:schema>
Capçalera
Capçalera XML
- <?xml version="1.0" encoding="UTF-8"?> (Declaració XML)
- <marcadores xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" (Declaració espai de noms)
- xsi:noNamespaceSchemaLocation="marcadores.xsd"> (indica que l’arxiu xsd está a la mateixa carpeta que el XML)
Capçalera XSD
- <<?xml version="1.0" encoding="UTF-8"?> (Declaració XML)
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> (Declaració espai de noms)
XSD Restriccions
Tipus
Llista
- <xs:simpleType name="rGenere">
- <xs:restriction base="xs:string">
- <xs:enumeration value="comedia"/>
- <xs:enumeration value="acció"/>
- </xs:restriction>
- <xs:restriction base="xs:string">
- </xs:simpleType>
Digits Màxims
- <xs:simpleType name="rIsbn">
- <xs:restriction base="xs:integer">
- <xs:totalDigits value="13"/>
- </xs:restriction>
- <xs:restriction base="xs:integer">
- </xs:simpleType>
Decimals Màxims
- <xs:simpleType name="rPreu">
- <xs:restriction base="xs:decimal">
- <xs:fractionDigits value="2"/>
- </xs:restriction>
- <xs:restriction base="xs:decimal">
- </xs:simpleType>
Valor minim i màxim
- <xs:simpleType name="rEdat">
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="18"/>
- <xs:maxInclusive value="150"/>
- </xs:restriction>
- <xs:restriction base="xs:integer">
- </xs:simpleType>
Patró d'un string
- <xs:simpleType name="rDni">
- <xs:restriction base="xs:string">
- <xs:pattern value="[0-9]{8}[A-Z]"/>
- </xs:restriction>
- <xs:restriction base="xs:string">
- </xs:simpleType>
Patró Numèric
- <xs:simpleType name="rTelefon">
- <xs:restriction base="xs:integer">
- <xs:pattern value="[6-9][0-9]{8}"/>
- </xs:restriction>
- <xs:restriction base="xs:integer">
- </xs:simpleType>