Empezando con estructura y elementos

This commit is contained in:
Salatiel Genol 2022-11-28 22:23:16 +01:00
parent 29f5ee329e
commit 2ad629cfac
1 changed files with 33 additions and 14 deletions

47
xsd.md
View File

@ -1,12 +1,12 @@
## Documentación XML Schema (XSD) ## Documentación XML Schema (XSD)
#### Definición ### Definición
XSD (XML Schema Definition) es un lenguaje, también llamado simplemente XML Schema, que sirve para definir la estructura de un documento XML, permitiendo su validación. XSD (XML Schema Definition) es un lenguaje, también llamado simplemente XML Schema, que sirve para definir la estructura de un documento XML, permitiendo su validación.
#### Declaracion de un archivo XSD y su vinculacion al XML ### Declaracion de un archivo XSD y su vinculacion al XML
##### Sin espacio de nombres asociado #### Sin espacio de nombres asociado
Al usar la etiqueta noNamespaceSchemaLocation, podemos usar un archivo xsd sin namespace asociado Al usar la etiqueta noNamespaceSchemaLocation, podemos usar un archivo xsd sin namespace asociado
@ -28,7 +28,21 @@ Al usar la etiqueta noNamespaceSchemaLocation, podemos usar un archivo xsd sin n
</etiqueta_raiz> </etiqueta_raiz>
``` ```
##### Con espacio de nombres personalizado #### Con espacio de nombres personalizado
schemaLocation necesita dos valores:
- La url del espacio de nombres.
- La ubicacion del archivo con el esquema del espacio de nombres.
```xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!-- archivo.xml -->
<custom:etiqueta_raiz xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://custom.url archivo.xsd"
xmlns:custom="https://custom.url">
<custom:contenido/>
</custom:etiqueta_raiz>
```
- targetNamespace define el espacio de nombres para este esquema. - targetNamespace define el espacio de nombres para este esquema.
- xmlns especifica que este es el espacio de nombres por defecto. - xmlns especifica que este es el espacio de nombres por defecto.
@ -46,16 +60,21 @@ elementFormDefault="qualified">
</xs:element> </xs:element>
</xs:schema> </xs:schema>
``` ```
schemaLocation necesita dos valores:
- La url del espacio de nombres. ### Estructura y elementos
- La ubicacion del archivo con el esquema del espacio de nombres.
#### Elementos simples
Los elementos simples solo pueden contener texto. La diferencia entre fixed y default es que en que con fixed, el valor no se puede modificar, tiene que ser ese, y con default si es modificable.
```xml ```xml
<?xml version="1.0" encoding="utf-8" standalone="no"?> <xs:element name="nombre_del_elemento" type="tipo_de_dato"/>
<!-- archivo.xml --> <xs:element name="nombre_del_elemento" type="tipo_de_dato" fixed="cadena"/>
<custom:etiqueta_raiz xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <xs:element name="nombre_del_elemento" type="tipo_de_dato" default="cadena"/>
xsi:schemaLocation="https://custom.url archivo.xsd" ```
xmlns:custom="https://custom.url">
<custom:contenido/> #### Atributos
</custom:etiqueta_raiz>
```xml
<xs:attribute name="nombre_del_atributo" type="tipo_de_dato"/>
``` ```