Compare commits

...

2 Commits

Author SHA1 Message Date
Salatiel Genol 29f5ee329e Primeros apuntes 2022-11-28 19:20:54 +01:00
Salatiel Genol c15453b515 Correcciones menores 2022-11-28 19:20:26 +01:00
3 changed files with 64 additions and 3 deletions

2
dtd.md
View File

@ -1,4 +1,4 @@
## Apuntes DTD ## Documentación DTD
### Definición ### Definición

4
xml.md
View File

@ -1,4 +1,4 @@
## Apuntes XML ## Documentación XML
#### Definición #### Definición
@ -10,7 +10,7 @@ Es una especificación de W3C, que significa eXtensible Markup Language, y es de
- El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML. - El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML.
- Es sencillo entender su estructura y procesarla, tanto por humanos como por maquinas - Es sencillo entender su estructura y procesarla, tanto por humanos como por maquinas
#### Estructura y elementos: #### Estructura y elementos
```xml ```xml
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>

61
xsd.md Normal file
View File

@ -0,0 +1,61 @@
## 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 version="1.0" encoding="utf-8"?>
<!-- archivo.xsd -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="etiqueta_raiz">
<!-- Contenido -->
</xs:element>
</xs:schema>
```
```xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!-- archivo.xml -->
<etiqueta_raiz xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="archivo.xsd">
<contenido/>
</etiqueta_raiz>
```
##### Con espacio de nombres personalizado
- 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
<?xml version="1.0" encoding="utf-8"?>
<!-- archivo.xsd -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://custom.url"
xmlns="https://custom.url"
elementFormDefault="qualified">
<xs:element name="etiqueta_raiz">
<!-- Contenido -->
</xs:element>
</xs:schema>
```
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>
```