Académique Documents
Professionnel Documents
Culture Documents
Una etiqueta consiste en una marca hecha en el documento, que señala una porción de este
como un elemento, un pedazo de información con un sentido claro y definido. Las etiquetas
tienen la forma < teléfono>, donde nombre es el nombre del elemento que se está
señalando.
< Edit_Mensaje>
< Mensaje>
< Remitente>
< Nombre>Nombre del remitente< ⁄ Nombre>
< ⁄ Remitente>
< Destinatario>
< ⁄ Destinatario>
< Texto>
< Parrafo>
Identifican las reglas para los elementos que pueden aparecer en el documento XML. Por
ejemplo hemos especificado la siguiente regla (o modelo de contenido) para el desarrollo
STAFFLIST:
Que indica que el elemento STAFFLIST esta compuesto de cero o mas elementos STAFF.
Las opciones de representación son:
Que indica que el element STAFF esta compuesto de un element NAME, un element
POSITION, un elemento opcional DOB y un elemento SALARY, en este orden. Las
declaraciones de FNAME, LNAME, POSITION, DOB y SALARY, asi como de los otros
elementos utilizados en un modelo de contenido, deben estar también presentes para que el
procesador XML compruebe la validez del documento. Estos elementos base han sido
declarados utilizando el símbolo especial #PCDATA para indicar que son datos de
caracteres analizables
• !ELEMENT STAFFLIST (STAFF)>
• !ELEMENT STAFF (NAME, POSITION, DOB?, SALARY)>
• !ELEMENT NAME (FNAME, LNAME)>
• !ELEMENT FNAME (#PCDATA)>
• !ELEMENT LNAME (#PCDATA)>
• !ELEMENT POSITION (#PCDATA)>
• !ELEMENT DOB (#PCDATA)>
• !ELEMENT SALARY (#PCDATA)>
• !ATTLIST STAFF branchNo CDATA #IMPLIED>
Identifican que elementos pueden tener atributos, que atributos pueden tener, que valores
pueden contener los atributos y cuales son los valores predeterminados opcionales. Cada
declaración de atributo tiene tres partes: un nombre, un tipo y un valor opcional
predeterminado. Hay seis tipos de atributos posibles:
Esta declaración indica que el valor branchNo es una cadena de caracteres (CDATA, datos
de caracteres) y que es opcional (#IMPLIED), no proporcionándose ningún valor
predeterminado. Además de #IMPLIED, puede especificarse #REQUIRED para indicar
que el atributo debe ser proporcionado siempre. Sino se especifica ninguno de estos
cualificadores el atributo contiene el valor predeterminado declarado, puede usarse la
palabra clave #FIXED para indicar que el atributo debe siempre tener el valor
predeterminado. Como ejemplo adicional, podríamos definir un elemento SEX que tuviera
un atributo gender que contenga el valor M o F de la forma siguiente:
Las declaraciones de entidad asocian un nombre con algún fragmento de contenido, como
por ejemplo un fragmento de texto normal, un fragmento de la DTD o una referencia a un
archivo externo que contenga texto o datos binarios. Las declaraciones de notación
identifican datos binarios externos, que el procesador XML pasa simplemente a la
aplicación. Por ejemplo podemos declarar una entidad para el texto DreamHome Estate
Agents de la forma siguiente:
La presencia del símbolo NDATA indica que la entidad no está analizada sintácticamente;
el nombre arbitrario que sigue a este símbolo es simplemente una clave para la subsiguiente
declaración de la notación. La declaración de notación asigna a este nombre un
identificador que la aplicación emplea para saber cómo gestionar dicha entidad.
Entre los beneficios que ofrece XML Schema respecto a las DTDs se encuentran los
siguientes:
• Permite que el texto que aparece en los elementos esté restringido a tipos específicos tales
como tipos numéricos en formatos específicos o incluso tipos más complicados como listas
o uniones.
• Permite restringir los tipos para crear tipos especializados, por ejemplo especificando
valores mínimo y máximo.
• Es un superconjunto de DTDs.
• Está integrado con espacios de nombres para permitir a diferentes partes de un documento
adaptarse a un esquema diferente.
Sin embargo, el precio a pagar por estas características es que XML Schema es
significativamente más complicado que las DTDs.
Con los esquemas XML se tiene un mayor poder para definir lo que parece un documento
XML válido. Presentan varias ventajas sobre los DTDs.
Los esquemas usan sintaxis XML. En otras palabras, un esquema XML es un documento
XML. Esto significa que se puede procesar un esquema igual que cualquier otro
documento. Por ejemplo, se puede escribir una hoja de estilo XSLT que nvierta un esquema
XML en un formulario Web completo con código Java Script generado automáticamente
que valide los datos conforme se vayan introduciendo.
Los esquemas XML soportan tipos de datos. Mientras que los DTDs no soportan tipos de datos, esta
claro que esos tipos de datos fueron desarrollados con una perspectiva de publicación. Los
esquemas XML soportan todos los tipos originales de los DTDs (cosas como Ids y referencias ID).
También soportan enteros, números en punto flotante, fechas, horas, cadenas de texto, URLs y otros
tipos de datos útiles para el procesado y validación de datos. Los esquemas XML son extensibles.
Además de los tipos de datos definidos en la especificación de esquemas XML, se pueden crear
tipos de datos propios y se pueden derivar nuevos tipos de datos a partir de otros.
7.4.- Consulta y transformación. (ana)
7.4.1 Xpath.
Xpath es un lenguaje de consulta declarativo para XML que proporciona una sintaxis
sencilla para consultar partes de un documento XML (W3C, 1999c, 2003b). Fue diseñado
para usarlo con XSLT y Xpointer. Con Xpath, pueden extraerse colecciones de elementos
especificando una ruta de tipo directorio, e imponiendo cero o más condiciones a dicha
ruta. Xpath utiliza una sintaxis compacta, basada en cadena de caracteres, en lugar de una
sintaxis estructural XML basada en elementos, lo que permite que las expresiones Xpath
puedan usarse tanto en atributos XML como en direcciones URL.
Xpath trata un documento XML como un árbol lógico (ordenado), con nodos para cada
elemento, atributo, texto, instrucción de procesamiento, comentario, espacio de nombres y
raíz. La base del mecanismo de direccionamiento es el nodo de contexto (un punto de
inicio) y la ruta de ubicación, que describe una ruta desde un punto de un documento XML.
7.4.3 XSLT.
Con esta técnica, en el pasado el código XML habría sido almacenado en un atributo cuyo
tipo de datos fuera CLOB (objeto de caracteres de gran tamaño). Más recientemente,
algunos sistemas han implementado un nuevo tipo de datos XML nativo. En Oracle, este
tipo de datos se denomina XMLType.
Los documentos XML en bruto se almacenan en forma serializada, lo que hace que sea
eficiente insertarlos en la base de datos y extraerlos en su forma original. Esta técnica
también hace que sea relativamente sencillo aplicar técnicas de indexación de texto
completo a los documentos para extracciones contextuales y basadas en la relevancia. Sin
embargo, hay algunos problemas relativos a la velocidad de las consultas generales y de los
mecanismos de indexación, que pueden requerir un análisis sintáctico sobre la marcha.
Además, las actualizaciones requieren usualmente que se sustituya el documento XML
completo por un nuevo documento, en lugar de sustituir simplemente aquella parte del
XML que ha cambiado.
Los documentos XML están compuestos por entidades (etiquetas), una entidad puede hacer
referencia a otra.
• Documentos bien formados: son los que cumplen las especificaciones del lenguaje
respecto a las reglas sintácticas para cualquier documento XML.
• Documentos válidos: además de bien formados, siguen una estructura y una
semántica determinada por un DTD.
Ejemplo:
< cliente>
< ⁄ cliente>
< nombre>
< ⁄ paterno>
< ⁄ nombre>
Documentos bien formados
Ej. Incorrecto: < li> HTML < b> permite < i> esto < ⁄ b> < ⁄ i>
Ej. Correcto: < li> En XML la < b> estructura < i> es < ⁄ i> jerárquica
Etiquetas vacías
Incorrecto: < li> Esto es HTML < br> casi todo permitido < ⁄ li>
Correcto: < li> En XML, es < br ⁄ > más restrictivo < ⁄ li>
Incorrecto:
< Cliente>
-----
< ⁄ Cliente>
< Cuenta>
-----
< ⁄ Cuenta>
Correcto:
< Banco>
< Cliente>
-----
< ⁄ Cliente>
< Cuenta>
-----
< ⁄ Cuenta>
< ⁄ Banco>
Valores de atributos
Tipo de letra
Incorrecto. 340XM
Nombre de elementos
No se pueden crear nombres que empiecen con xml, xML, XML, u otra variante. Pueden
usarse letras, subr, guion, dígitos, pero iniciar con letra o subrayado.
Comentarios
• XHTML
• MathML
• BancoML (BML)
• ClienteML (CML)
Ejemplo:
----------
----------
----------
----------
----------
Modelo de contenido
< !ELEMENT aviso (titulo, párrafo)> debe contener un < titulo> seguido de un < párrafo>
< !ELEMENT aviso (párrafo | grafico)> puede contener un < párrafo > o un < grafico>
Indicadores de frecuencia.
? 0 o 1 vez
* 0 o más veces
+ 1 o más veces
Ejemplo:
Ejemplo XML
----------
----------
< ⁄ texto>
< mensaje>
---------- ----------