## Documentación XML Schema (XSD)
### 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.
### Declaracion de un archivo XSD y su vinculacion al XML
#### Sin espacio de nombres asociado
Al usar la etiqueta noNamespaceSchemaLocation, podemos usar un archivo xsd sin namespace asociado
```xml
```
```xml
```
#### 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
```
- targetNamespace define el espacio de nombres para este esquema.
- xmlns especifica que este es el espacio de nombres por defecto.
- elementFormDefault indica que todos los elementos tienen que llevar el espacio de nombres (qualified) o no es necesario que lo lleven (unqualified)
```xml
```
### Estructura y elementos
#### Tipos de datos
anyURI, base64Binary, boolean, date, dateTime, decimal, double, duration, float, hexBinary, gDay, gMonth, gMonthDay, gYear, gYearMonth, NOTATION, QName, string, and time
#### Elementos
##### Simples
Los elementos simples solo pueden contener texto.
```xml
```
#### Atributos
##### Simples
```xml
```
##### Complejos
```xml
```