Cosas Interesantes

lunes, 21 de diciembre de 2009

Aprendiendo XML en PAPYRE STREET

PAPYRE STREET copiaCOCO vuelve con nosotros a PAPYRE STREET para ayudarnos con un tema importante en el mundo de los ebooks: el XML

”XML NO ES LA TALLA DE TU CAMISETA”


Porque aunque puede sonar parecido a la talla de tu camiseta XML en realidad no es así porque suena a “eksemel” que viene de “eXtensible Markup Language” o “Lenguaje de Marcas Extensible”. Las “marcas” son por supuesto, las etiquetas, esas cosas entre “<” y “>” que veíamos en CSS EN PAPYRE STREET.

Coco profesor¿Y POR QUÉ? ¿PARA QUÉ? ¿DE DÓNDE SALE?
No te creas que es el último grito, porque en realidad son más antiguos que la tos. Cuando las primeras empresas empezaron a conectarse mediante ordenadores necesitaban un sistema común para intercambiar datos. Y era la época dorada de los sistemas dedicados ¿qué tenían en común? Pues los ficheros de texto plano.
- Pero Coco, un fichero de texto plano no es una base de datos, no tiene campos…


Pues esa es la gracia de las etiquetas, gracias a ellas puedes definir campos, o lo que quieras.
De hecho, XML no es un lenguaje, es un metalenguaje, un lenguaje que sirve para definir lenguajes. Así que las empresas en vez de decir:
   “cuando te mande una factura, te mandare un fichero con 80 caracteres por línea, y el primer campo, el número de factura; tendrá 14 caracteres con ceros ajustados a la izquierda y .. bla-bla-blah” Y así para TODOS LOS CAMPOS DE TODOS LOS TIPOS DE DOCUMENTO.
dijeron:
   “lo que esté entre la primera etiqueta será EL TIPO DE DOCUMENTO y luego cada campo que necesite te lo iras encontrando entre las siguientes etiquetas, que además te diran que es cada campo. Por cierto, los primeros 100 campos de la factura más o menos estamos de acuerdo, pero si necesito inventarme uno nuevo, no pasa nada, te lo mando a partir del 101
Y por eso se le llama EXTENSIBLE, porque permite añadir nuevos campos a la factura, o a la lista de materiales, o a tu libro electrónico en FB2.
Y así empezó, poco más o menos, con listas de piezas para un RENAULT 19.

¿PERO CÓMO LO HACE?


- Vale, muy flexible… pero si te lo puedes inventar sobre la marcha ¿Cómo se entiende?
Para eso esta la DTD, la Definición de Tipo de Documento que un fichero de etiquetas que dice: que nombres pueden tener las etiquetas, que pueden llevar dentro, en que orden irán y su jerarquía (anidamiento). Por ejemplo un CUBO sería
<!ELEMENT Fregona(Mango, Peine, Pelo de Mocho)>
  <!ELEMENT Mango (#PCDATA)>
  <!ELEMENT Peine (#PCDATA)>
    <!ELEMENT Pelo de Mocho(#PCDATA)*>

- ¡Eh! ¡Pero esto no tiene pinta de XML!
Tienes razón, por eso, la versión “moderna” del XML trabaja con “Esquemas” (Schemas) que son DTDs pero escritos en el propio lenguaje XML para que todo quede en casa. Así, el “interprete” sólo tiene que entender un tipo de archivo (XML) y no 2 (DTD y XML)

ESTRUCTURA DE UN DOCUMENTO XML GENÉRICO
La primera línea incluye la DECLARACION, que especifica la versión de XML aplicada y alguna otra cosa como la codificación de caracteres.

<? Xml version = "1.0" encoding = "UTF-8"?
el resto del documento es lo importante: son los ELEMENTOS. Un elemento se compone de: <etiqueta INICIAL> CONTENIDO del elemento < / etiqueta DE CIERRE> (con la barra OJO!!)
<sello>Serie de Juan Carlos I</sello>
pero puede además tener un atributo con un valor (siempre entre comillas)
<sello valor facial=”25 cent.”>Serie de Juan Carlos I</sello>
Sólo una cosa más. Si el elemento está vacio
<sello></sello>
puede escribirse como
<sello/>
Y PARA TERMINAR LO MÁS IMPORTANTE Y siempre las etiquetas (y por lo tanto los elementos que circunscriben) DEBEN ESTAR CORRECTAMENTE ANIDADOS:
<UNO>  <DOS>  <TRES>  </TRES>  </DOS>  </UNO>
TRES está dentro de DOS y ambos dentro de UNO.
Y recordad, niños, esto es CERCA image y esto es LEJOS image

No hay comentarios

Publicar un comentario

© Cosas Interesantes