Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos

ORIGEN:

Fecha

3-2-2006

------------------------------------------------------

Inicio > Tutoriales > Internet > XML > Apuntes de XML
-Tutoriales

Apuntes de XML


Creación de documentos XML

. Sintaxis

. Un ejemplo completo

  • Ejemplo completo de documento XML:
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <?xml-stylesheet href="librohtml.xsl" type="text/xsl"?>
    <?xml-stylesheet href="librowml.xsl" type="text/xsl" media="wap"?>
    <?cocoon-process type="xslt"?>
    
    <!-- Referencia la DTD -->
    <!DOCTYPE Libro SYSTEM "libro.dtd">
    
    <!-- Comienza el contenido -->
    <Libro xmlns="http://www.mislibros.com/libros/javaxml"
    			xmlns:Catalogo="http://www.mislibros.com/catalogo">
    
     <Titulo>Java y XML</Titulo>
     <Catalogo:Seccion>Programación</Catalogo:Seccion>
     <Catalogo:SubSeccion>XML</Catalogo:SubSeccion>
     <Contenido>
    
      <Capitulo materia="XML">
       <Tema>Introducción</Tema>
       <subcapitulo1 apartados="7">Qué es</subcapitulo1>
       <subcapitulo1 apartados="3">Cómo se usa</subcapitulo1>
      </Capitulo>
    
      <Capitulo materia="XML">
       <Tema>Creando XML</Tema>
       <subcapitulo1 apartados="0">Un documento XML</subcapitulo1>
       <subcapitulo1 apartados="2">La cabecera</subcapitulo1>
       <subcapitulo1 apartados="6">El contenido</subcapitulo1>
      </Capitulo>
    
      <Capitulo materia="Java">
       <Tema>Analizando XML</Tema>
       <subcapitulo1 apartados="3">Preparación</subcapitulo1>
       <subcapitulo1 apartados="3" dificil="si">SAX</subcapitulo1>
       <subcapitulo1 apartados="9" dificil="si">Manejadores</subcapitulo1>
       <subcapitulo1 apartados="0">Una forma mejor de cargar el analizador</subcapitulo1>
      </Capitulo>
    
      <Separacion/>
    
      <Capitulo materia="Java">
       <Tema>JDOM</Tema>
       <subcapitulo1 apartados="2">Introducción</subcapitulo1>
       <subcapitulo1 apartados="4" dificil="si">DOM&amp;JDOM</subcapitulo1>
      </Capitulo>
      
     </Contenido>
    
     <Compra>
     	<![CDATA[
      		<Paso 1>Encontrar una librería.
      		<Paso 2>Encontrar el libro.
      		<Paso 3>Comprar el libro.
      	]]>
     </Compra>
     
     <Copyright>&OReillyCopyright;</Copyright>
     
    </Libro>

. Reglas básicas

  • Hay dos tipos de construcciones: el marcado (entre <...> ó &...; ) y los datos de carácter (todo lo demás).
  • Todo documento XML se compone de elementos. Cada elemento está delimitado por una etiqueta de comienzo y otra de fin, a no ser que sea vacío. Los elementos vacíos constan de una única etiqueta. Los nombres de las etiquetas son arbitrarios y no pueden contener espacios.
  • Siempre hay un elemento raíz, cuya etiqueta de inicio ha de ser la primera de todas y la de cierre la última de todas.
  • Cada elemento puede contener datos de carácter, elementos, ambas cosas a la vez o puede estar vacío.
  • No se puede mezclar la anidación de las etiquetas: los elementos deben abrirse y cerrarse por orden.
  • Los elementos pueden tener atributos (propiedades) que nos ofrecen información sobre ellos. Los valores de los atributos deben ir entrecomillados. Tanto atributos como valores son arbitrarios.
  • Mayúsculas y minúsculas no son intercambiables.
  • El espacio en blanco es libre, se puede utilizar para leer mejor el documento.

. Otras construcciones

  • Se pueden utilizar comentarios, que el analizador no tratará, en cualquier sitio excepto dentro de las declaraciones, etiquetas y otros comentarios.
  • Las secciones CDATA sirven para introducir texto que el analizador tendrá en cuenta como datos de carácter, sin interpretarlo como XML.
  • Las entidades predefinidas permiten incluir ciertos caracteres sin que sean tomados como XML:
    • &amp; para el &
    • &lt; para el <
    • &gt; para el >
    • &apos; para el '
    • &quot; para el "
  • Podemos definir nuestras propias entidades, lo veremos con las DTDs.

. Espacios de nombres

  • Los espacios de nombres sirven para evitar las colisiones entre elementos del mismo nombre, y en general, para distinguir los distintos grupos de elementos en un mismo documento.
  • Cada espacio de nombres se asocia con una URL, que sólo sirve como identificador único y no tiene por qué ser válida.

. Cabecera

  • La cabecera, que es opcional aunque recomendable, da información sobre cómo manejar el documento a los analizadores y otras aplicaciones. Puede contener:
    • Una declaración XML para el analizador, con la versión, juego de caracteres utilizado, y una indicación de si el documento es o no autónomo (si requiere o no otros documentos).
    • Instrucciones de proceso para otras aplicaciones.
    • Una declaración DOCTYPE, que referencia a la DTD que restringe el documento.

. Terminología

  • Cuando un documento cumple con las reglas sintácticas que hemos descrito, se le denomina documento bien formado.
  • Un documento válido, además de ser bien formado, cumple las restricciones que le impone una DTD o un esquema XML.

. Reglas de diseño

  • El diseño de la estructura de un documento XML no es una tarea trivial. Depende de un buen análisis del problema concreto a resolver (cómo se va a utilizar el documento), lo cual queda fuera del alcance de este curso. No obstante, se ofrecen a continuación algunas reglas prácticas.
  • Siempre que sea posible, usar una DTD o esquema existente. Nos ahorramos diseñar los documentos XML y posibilita el intercambio de datos con otros que utilicen la DTD o esquema.
  • La principal decisión es utilizar para los datos de los elementos subelementos o atributos. Por ejemplo:
    <diapositiva>
    	<título>Aquí el título...</título>
    </diapositiva>
    
    <diapositiva título="Aquí el título...">
    	...
    </diapositiva>
  • Hay una serie de criterios:
    • Si el dato contiene subestructuras: elemento.
    • Si el dato es de gran tamaño: elemento.
    • Si el dato cambia frecuentemente: elemento.
    • Si el dato es de pequeño tamaño, y raramente cambia: normalmente, atributo.
    • Si el dato sólo puede tener unos cuantos valores fijos: atributo.
    • Si el dato se va a mostrar a un usuario o aplicación: elemento. Si el dato guía el procesamiento del XML pero no se va a mostrar: atributo.
 
Patrocinados
 

Copyright © 1999-2005 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados