Hola a todos,
Por necesidades activas , vamos a explicar un poco que es un pattern ( o patron y no precisamente de barco) en Xml.
Hola a todos,
Por necesidades activas , vamos a explicar un poco que es un pattern ( o patron y no precisamente de barco) en Xml.
Hola buenas bienvenidos de nuevo , hoy vamos a ver que son esas cosas tan raras que vimos en el anterior post sobre Xml y sus mundos de Yupi (los frikkis que habeis nacido de los noventa parriba no sabréis quien es yupi pero bueno visitad San google que esta para algo ), las denominadas DTD y los denominados XML Schema .
Las DTD conocidas como (Document Type Definition) nos definen estructuras del formato de datos, para usar un formato común y mantener la consistencia entre todos los documentos. Nos puede definir fundamentelmente :
- Define que etiquetas podemos usar .
- Lo atributos que pueden llevar esas etiquetas
- Combinaciones de elementos etc..
Un Ejemplo de DTD :
<!ELEMENT lista_de_clientes (persona*)>
<!ELEMENT clientes (nombre,sexo?, Dni?)>
<!ELEMENT nombre (#PCDATA) >
<!ELEMENT sexo (#PCDATA) >
<!ELEMENT Dni (#PCDATA)>
Bienvenidos de nuevo, hoy vamos ya a centrarnos un poco en lo que es la estructura de los documentos XML , partes que la forman validaciones, pipas, chicles, gominolas etc,etc…
Cada documento XML posee una estructura lógica y una física. La estructura lógica del documento es una serie de declaraciones, elementos, comentarios, etc. que se indican en el documento mediante marcas explícitas. La estructura física del documento es una serie de unidades llamadas entidades, es decir, indica los datos que contendrá el documento. Las estructuras lógica y física deben anidarse de forma correcta.
En documento XML podremos observar una serie de partes generales:
o Contiene información relativa al presente XML
o Contiene la vinculación con su DTD (si existe).
o Contiene instrucciones que deben ser ejecutadas por la aplicación que lo procese (instrucciones de proceso).
o Contiene la vinculación con su hoja de estilo correspondiente (si existe).
Ej: <?xml version=”1.0? encoding=”ISO-8859-1? standalone=”yes”?>
Ej: <DNI> 00001</DNI>
Ej: <Tema sección=’naturaleza’>
El canto de la paloma torcaz
</Tema>
Ej: <!– Este es un comentario –>
Se usan precediendo &nombreEntidad;
Teniendo en la DTD
<!ENTITY NombreAsegurado “Paco”>
En el Xml pondríamos:
<Asegurado> &NombreAsegurado ; </ Asegurado >
<![CDATA["<nombre>"]]>
NOTA: Lo único que no podría contener esta sección es “]]>” dado q es el fin de la propia entidad y no se puede anidar.
Centrándonos en su Validación tenemos que hacer una diferenciación entre lo que es un documento bien formado (well-formed) y un documento Válido (valid).
Un documento Xml está bien formado según la W3C (World Wide Web Consortium) cuando :
1- Tomado como un todo, cumple la regla denominada “document”. Cumplir esta regla indica:
a- Que contiene al menos uno o mas elementos.
b- Tiene un elemento root , raiz o principal, bien delimitado, que no es contenido por ningún otro elemento y que contiene a su vez a todos los demás. Es decir el elemento root, es el elemento padre y los demás serán sus hijos.
Por ejemplo, en este caso Tienda seria el elemento principal las demas etiquetas serian sus hijos suyos:
<?xml version=”1.0? encoding=”ISO-8859-1? standalone=”yes”?>
<Tiendas>
<Tienda1>
<Direcion>Calle Teruel</Direccion>
<Poblacion>Villa Manuela de Arriba</Poblacion>
<Responsable>Mr T.</Responsable></Tienda1>
<Tienda2>
<Direccion>Calle Teruel</Direccion>
<Poblacion>Villa Manuela de Abajo</Poblacion>
<Responsable>Mr T.</Responsable>
</Tienda2>
</ Tiendas >
2- Respeta todas las restricciones de buena formación cuyas especificaciones son:
a- Si no se utiliza DTD, el documento debe comenzar con un Declaración de Documento Standalone.
b- Todas las etiquetas deben estar balanceadas: esto es, todos los elementos que contengan datos de tipo carácter deben tener etiquetas de principio y fin.
c- Todos los valores de los atributos deben ir entrecomillados (el carácter comilla simple [el apóstrofe] puede utilizarse si el valor contiene caracteres comillas dobles, y viceversa): si necesitas ambos, utiliza ' y " .
d- Cualquier elemento VACÍO (p.e. aquellos que no tienen etiqueta final como <IMG>, <HR>, y <BR> y otros de HTML) deben terminar con ‘/>’ o debes hacerlos no VACÍOS añadiéndoles una etiqueta de fin.
e- No debe haber etiquetas aisladas (< ó &) en el texto (p.e. debe darse como < y &), y la secuencia ]]> debe darse como ]]> si no ocurre esto como final de una sección marcada como CDATA.
f- Los elementos deben anidar dentro de sí sus propiedades (no se deben sobreponer etiquetas, como en el resto de SGML).
g- Los ficheros bien-formados sin-DTD pueden utilizar atributos en sus elementos, pero éstos deben ser todos del tipo CDATA, por defecto. El tipo CDATA (character DATA) son caracteres.
3- Cada una de las entidades analizadas que se referencia directa o indirectamente en el documento está bien formada
Un documento válido es aquel que además de estar bien formado, cumplen las especificaciones de la DTD (Document Type Definition), del Schema o esquema ( como es nuestro caso), o del elemento que lo valide, y siguen las pautas marcadas por sus modelos de contenido. No hay esquemas de documentos idénticos, por eso es difícil concretar las reglas que deben cumplir.
Para que un documento XML también sea válido, durante el proceso de validación se comprueba:
1 -Qué elementos o atributos se permiten en un documento del tipo definido en el esquema.
2 -La estructura de los elementos y atributos (elementos anidados, atributos obligatorios u opcionales, etc.) .
3 -El orden de los elementos.
4 -Los valores de los datos de atributos y elementos (según enumeraciones, rangos de valores delimitados, tipo de dato correcto (p.ex formato correcto de una fecha, utilizar un entero para expresar un número), etc.
5 -La unicidad de valores dentro de un documento (p. ex. Referencias de productos que no pueden repetirse.
Bueno en próximos post Veremos que es una DTD (Document Type Definition) que es un XML Schema y cómo podemos validar documentos XML con ellos.
El Fenrisiano.
Bueno, pues bienvenidos al “maravilloso” mundo del XML Extensible Markup Language ( sí, he puesto comillas en la palabra maravilloso, iréis entendiendo porque según vayamos profundizando ).
Vamos a comenzar nuestro viaje haciendo una pequeña introducción acerca de lo que es XML , de donde sale, porque esto no es como plantar champiñones que los plantas y ya está, para que se usa etc.. etc…
Extensible Markup Language más conocido como XML nació en 1996 como una parte del SGML (Standard Generalized Markup Language o “Lenguaje de Marcado, ISO 8879 ) que fue un sistema de etiquetados de documentos, podemos decir como ejemplo que el lenguaje HTML también deriva de este sistema.
XML nació por la necesidad de crear e intercambiar documentos extensos con vocabularios que pudieran ser utilizados por otras aplicaciones sea cuales fuere, independientemente de la plataforma. Es un metalenguaje de marcado, no un lenguaje, esto hace que podamos crear lenguajes propios de marcado.
HTML por ejemplo, por si solo tiene una serie de inconvenientes para tratar documentos o información en entornos web, estos son algunos:
· Rigidez e inflexibilidad en cuanto a su funcionalidad. Nos podemos encontrar dependencias de navegador o del sistema operativo para la correcta manipulación de documentos o páginas web.
· Poco riguroso y demasiado flexible en su codificación. Podemos observar por ejemplo que en algunas etiquetas como <BR> podemos dejar sin cerrarlas y no hay ningún problema por esto.
· Análisis dificultoso. Al contrario que XML ( dado que es un lenguaje que tiene normas implícitas).
· La representación visual depende del navegador y aunque posemos herramientas el código HTML hace que las páginas web pueden tener muchos formatos en su mayoría ser caóticos y no tener en cuenta una sintaxis correcta, por lo que es difícil definir un estándar valido sobre todo para el intercambio de información entre distintas plataformas .
Esa serie de problemas hizo que la W3C (World Wide Web Consortium) considerara adoptar XML como un metalenguaje más flexible y potente. XML no sustituye a HTML (aunque en un futuro es posible que si lo hiciese con algún lenguaje derivado similar) pero si lo complementa aportando aplicaciones mas robustas.
A día de hoy HTML está muy implantado y por ello no es tan fácil tampoco su sustitución completa.
En un la utilización de XML generalizada en entornos web nos permitiría en conclusión :
· Realizar motores de búsqueda mucho más eficaces, lo que nos permitirá un acceso más rápido y eficiente a la información.
· Acceder a nuestras páginas favoritas desde nuestro teléfono móvil, o desde la radio de nuestro coche, en el momento en el que los programas de reconocimiento de voz trabajen con XML de una forma más fácil y sencilla.
· Facilitará el intercambio de información y la cooperación entre las empresas facilitando el comercio electrónico, etc.
En definitiva XML es una tecnología sencilla que tiene un papel muy importante y nos permite compartir la información de una manera estándar, segura, fiable y fácil.
Otro día, seguiremos y profundizaremos en el metalenguaje en si : formación de documentos, validaciones , estructura etc..
El Fenrisiano