Bueno empezaremos hablando de los atributos y de los datos como se introducen y luego veremos un archivo XML de ejemplo, también veremos algunos caracteres reservados y alguna cosa más
Atributos
Los atributos en XML, son algo complementario a las etiquetas, algo que se puede añadir para dar más información, los atributos se definen de la siguiente manera:
<persona nombre="Pepe"/>
<persona nombre='Juan'/>
Esto serían los atributos, el asunto con los atributos es que si necesitas meter los datos en algo como una tabla para que un programa lo muestre no puedes usarlo, aunque si puedes usar los atributos para hacer filtrado, pero imagina tenemos el atributo confirmación de pago si o no si tú quieres usarlo para hacer filtrado puedes hacerlo, pero no lo puede coger para filtrar por ejemplo, informo este curso está enfocado a crear estructuras de datos legibles por programas
ya que por ejemplo Inkscape guarda sus configuraciones usando atributos para una etiqueta group que es cada grupo de configuraciones y bueno ya hablaremos sobre eso.
Los atributos pueden ser declarados usando comilla simple o doble pero no las dos a la vez
<persona nombre='Juan"/>
Esto que acabo de escribir estaria mal
Ejemplo de documento XML
Aquí expondré un documento XML de ejemplo para que veáis como sería un documento:
<?xml version="1.1" encoding="UTF-8"?>
<residentes>
<persona pendiente_pago="no" domiciliado="si">
<nombre>Juan Ramon</nombre>
<piso >
<numero>5</numero>
<letra>a</letra>
</piso>
<numero_cuenta>148101947107</numero_cuenta>
</persona>
</residentes>
Esto es un XML de ejemplo como podéis ver en <piso >
hay un espacio ese espacio es correcto, no sería correcto si el espacio estuviera al principio, por ejemplo < piso>
esto que acabo de escribir no es correcto.
Encabezado
Bueno ahora hablemos de ese <?xml version="1.1" encoding="UTF-8"?>
qué demonios es eso, pues eso es el encabezado y aunque no es obligatorio si es recomendable ponerlo e incluso necesario en ciertos casos, XML identificara si no le ponemos la etiqueta la version 1.0 como predeterminada, pero si la ponemos debemos especficar la version de forma obligatoria, mientras que el encoding no es obligatorio si usamos la codificacion UTF-8 o UTF-16 esto de la codificacion se refiere a como se guardan y son identificados los caracteres por el ordenador UTF-8 los guarda en 8 bits y UTF-16 en 16 bits, luego esta el standalone pero ya hablaremos de eso más adelante. Especificar el UTF puede ser bueno para que se sepa que codificación se utiliza pero obviamente como describí si se utilizan por ejemplo letras griegas necesitamos añadir el correspondiente ISO o UTF o nombre del estándar de codificacion
Informo solo existen dos versiones de Xml: 1.0 y 1.1
Nombramiento de etiquetas
Aunque XML da bastante libertad en ese sentido todavia hay normas que hay que seguir
por ejemplo los nombres no pueden empezar con espacios como dije antes < piso>
pero si puede llevar espacio al final <piso >
, los nombres no pueden empezar con numeros es decir esto <2persona>
seria incorrecto pero esto <persona2>
seria correcto tampoco podemos empezar así el nombre del programa <%persona>
tampoco puede haber algo como esto <persona creativa>
debe ser <persona_creativa>
se pueden usar guiones y guiones bajos en los nombres al principio <_lista>
eso seria correcto
Caracteres reservados
Hay algunos caracteres que estan reservados y para utilizarlos debemos especificarlos de una manera concreta
Simbolo | Sustitucion |
---|---|
< | < |
> | > |
" | " |
’ | ' |
& | & |
Haber el porque estos caracteres estan reservados no es ningun misterio el mayor que y menor que son usados para definir las etiquetas, las comillas para definir los atributos el apostrofe tambien se puede usar para delimitar los valores de los atributos y el ampersand por motivos obvios se usa para definir todo eso.
También, por ejemplo, la palabra XML, ya que se puede usar para definir algunas cosas, está reservada y solo puede ser usada para casos de uso específico, sin embargo, se puede usar CDATA del cual hablaremos más adelante.
En la próxima parte hablaremos sobre los comentarios, sobre el uso de CDATA y también pondré algún ejercicio para ir familiarizándonos con esto.
Cosa curiosa, el foro también admite las sustituciones usadas en XML así que tuve que ponerlas entre `` para que no lo convirtiera en el carácter de forma automática