Se requiere algo nuevo… Barato, veloz y sencillo: Para crear documentos. Para procesar documentos. Para presentar documentos. Extensible: Un conjunto de reglas, no un conjunto de etiquetas. Compatible con el HTML: Debe tener una manera sencilla de convertir de HTML. Compatible con el SGML: Debe de conservar su potencia sin contener complejidades no necesarias.
Metas de diseño. XML debe ser utilizable a través de Internet. XML debe soportar muchos escenarios de aplicación. XML debe ser compatible con el SGML. Los programas que procesen documentos XML deben ser fáciles de crear. Las características opcionales deben ser idealmente cero. Lso documentos en XML deben de ser legibles por humanos y razonablemente claros.
Metas de diseño. El diseño con XML debe ser rápido. El diseño de documentos XML debe de ser formal y conciso. Los documentos XML deben de ser fáciles de crear. El laconismo en el uso de etiquetas no es importante.
Ahora… un ejemplo. < Cliente ID=HVet950283"> < Nombre>Hospital Veterinario Kermit< /Nombre> < Direccion verificada=si"> < Calle>Padre Mier 1528< /Calle> < Ciudad>Monterrey< /Ciudad> < Estado>NL< /Estado> < CodigoPostal>64000< /CodigoPostal> < /Direccion> < /Cliente>
Sintaxis simple Legible por personas Muy parecido al HTML
El XML es… El Lenguaje de Marcaje Extensible (Extensible Markup Languaje, XML). Un metalenguaje de marcaje. Una sintaxis utilizada para crear lenguajes declarativos. Una recomendación técnica del W3C. Es un estándar del W3C, no de alguna compañía. Multiplataforma, simple, fácil de aprender. Es fácil construir herramientas para XML. Optimizado para usarse en Internet. Libre (y gratuito).
El XML no es… Un lenguaje de marcaje (markup). No. Es un estándar que especifica una sintaxis para crear lenguajes de marcaje. Solo para Web. No. Puede ser usado para describir y comunicar cualquier información estructurada. Un superconjunto del HTML. No. Aunque el HTML puede ser definido con sintaxis de XML. Un invento de [x compañía]. No. XML es un estándar creado por el W3C y soportado por compañías e instituciones de todo el mundo.
El XML sirve para… Hacer publicación electrónica independiente del medio. Crear protocolos para el intercambio de datos entre miembros de una industria. Facilitar el procesamiento de datos usando software barato. Permite a las personas visualizar la información de la manera que quieran. Proporcionar metadatos que mejoran la calidad de la búsqueda de información.
Dos versiones. XML bien formado. Las etiquetas de inicio y final coinciden. Los elementos vacíos tienen una forma especial. No hay elementos traslapados. Los atributos van en comillas. XML válido. Es código bien formado con funciones adicionales. Se adhiere a una estructura predefinida dictada por un esquema, DTD, DCD, SOX, etc.
Un documento XML es… Una colección de piezas llamadas entidades. Texto y etiquetas en Unicode. Válido, o por lo menos bien formado.
Representa una jerarquía de datos.
Jerarquía de datos.
Contenedor = elemento. Declarativo (sustantivo). Lo que está encerrado entre las etiquetas. De lo que habla la sintaxis. Cinco cosas necesarias: Cómo se llama el elemento. Dónde inicia el elemento. Dónde termina el elemento. Qué contiene el elemento. Qué relación tiene el elemento con otros elementos.
Creando documentos bien formados. Un único elemento raíz. Los elementos en la raíz aparecen secuencialmente o anidados. Los elementos no se deben traslapar. Todo elemento tiene una etiqueta de inicio y una de final. Inicia con < Nombre_elemento> Termina con < /Nombre_elemento> Los elementos vacios inician y terminan con < Nombre_elemento/>
Etiquetas. El XML diferencía entre mayúsculas y minúsculas. < Libro>, < libro>, < LIBRO> y < LiBrO> son etiquetas que se refieren a diferentes elementos. Los nombres de elementos: Deben de iniciar con una letra, subrayado o dos puntos (:). Los caracteres siguientes pueden ser letras, números, puntos, guiones, subrayados o dos puntos. El nombre XML y sus variaciones están reservadas.
La declaración XML. Dice ¡Soy un documento XML!. Tiene partes específicas: < ?xml apertura version=1.0 versión encoding= codificación de caracteres standalone= doc. independ. (yes/no) ?> fin Cada entidad XML que no esté en UTF-8 o UTF-16 debe contener la declaración de codificación (encoding).
Ejemplos de declaraciones XML. (ninguna)
< ?xml version=1.0?>
< ?xml version=1.0 encoding=UTF-8?>
< ?xml version=1.0 standalone=yes?>
< ?xml version=1.0 encoding=ASCII standalone=no?>
Ejemplo bien formado.
< Bienvenida>¡Hola mundo!< /Bienvenida>
Ejemplo bien formado. < ?xml version=1.0?> < Configuracion> < Impresora> < Nombre>HP LaserJet 5SI< /Nombre> < Controlador>hplj5si.dll< /Controlador> < Sitio>/mvaldezHP5SI< /Sitio> < Opciones> < AlimentadorSobres/> < Scanner/> < /Opciones> < /Impresora> < /configuracion>
Documento mal formado. < ?xml version=1.0?> < Configuracion> < Impresora> < Nombre>HP LaserJet 5SI < Controlador>hplj5si.dll< /Nombre> < /Controlador> < Sitio>/mvaldezHP5SI< /Sitio> < Opciones> < AlimentadorSobres> < Scanner/> < /Opciones >< /Impresora> < /configuracion> < /Configuracion>
Entidades carácter. Para documentos bien formados: > > (greater than) < < (less than) & & (ampersand) ' (apóstrofe) " (double quote) Los documentos válidos deben de definir estas entidades antes de usarlas. Ejemplos: AT&T Nombre=Mario Moreno 'Cantinflas'
Atributos. Propiedades (adjetivos). Contienen información acerca del elemento. Información sobre gráficos. Fechas, nombres, colores, etc. Aparecen en la etiqueta de inicio:
< Nombre_elemento Nombre_atributo=valor>
ó
< Nombre_elemento Nombre_atributo=valor>
Ejemplo con atributos. < ?xml version=1.0?> < Configuracion> < Impresora local=si> < Nombre>HP LaserJet 5SI< /Nombre> < Controlador Instalado=si>hplj5si.dll< /Controlador> < Sitio>/mvaldezHP5SI< /Sitio> < Opciones> < AlimentadorSobres/> < Scanner/> < Color Colores=256/> < /Opciones> < /Impresora> < /Configuracion>
¿Qué editor puedo usar? Requisitos mínimos: No debe generar caracteres EOF (Ctrl-Z) al final del archivo. No debe generar tabulaciones (si se usan deben de expandirse a espacios al grabar). Sugerencias: Cualquier editor de texto o procesador de palabras. Editores especiales para XML. Variantes de editores de SGML. Editores de XML. Editores de SGML. Requiere hacer algunos ajustes, no recomendable.
Ejercicio: Construir un documento bien formado. Cargar el editor. Architag Real-time XML Editor. http://www.architag.com/editor/ Microsoft XML Notepad. http://msdn.microsoft.com/xml/notepad/ Crear el documento. Visualizar en el navegador.
La necesidad de guías de uso y estilo. Si queremos que todos en nuestro proceso (personas y máquinas) usen las mismas etiquetas de la misma manera, entonces requerimos… Guías de uso y estilo para las estructuras de datos. Listas de etiquetas válidas. Relaciones entre etiquetas. Valores predeterminados para los atributos. Tipos de datos que no sean XML estandarizados.
Guías de uso y estilo. Nada de esto es nuevo. Las guías de uso y estilo se han usado por décadas para intercambiar información entre personas. Pero el XML no es solo para personas. Se requieren guías legibles por máquinas.
Reglas: La DTD del XML. Una Definición de Tipo de Documento (Document Type Definition, DTD) permite: Definir un conjunto específico de etiquetas con relaciones específicas. Definir valores predeterminados para los atributos. Definir entidades de texto y binarias adicionales junto con sus notaciones. Indicar el elemento raíz.
El control de la DTD. La DTD proporciona: Una sintaxis formal que sirva de guía a un intérprete/analizador (parser). La habilidad de definir valores predeterminados para los atributos. Especificaciones para la estructura. Una DTD es una buena manera (pero no la única) de controlar la creación de datos.
Página anterior | Volver al principio del trabajo | Página siguiente |