Sie sind auf Seite 1von 18

Nombre del estudiante: Iván López Villegas

Nombre del trabajo: Trabajo de investigación

Fecha de entrega: 21/09/2017

Campus: Tlalpan

Carrera /Prepa: Ingeniería en Sistemas


Computacionales

Semestre/Cuatrimestre: Quinto Semestre

Nombre del maestro: Elizabeth Gregoria Calixto


Índice
El Diseño de documentos XML ó DTD ................................................................................................... 3
Tratamiento de información XML .......................................................................................................... 6
Árboles y elementos - Documentos válidos ........................................................................................ 7
XML y CSS3 - Visualización de documentos ....................................................................................... 8
Creación de páginas XHTML impulsadas desde una base de datos XML .............................. 10
XHTML en documentos XML .................................................................................................................. 11
Validación de un XML ................................................................................................................................ 12
DTD ................................................................................................................................................................... 13
XSD.................................................................................................................................................................... 15
Extensiones y usos de XML: Cloud Computing ................................................................................ 17
Excel ........................................................................................................................................................ 17
Conclusiones ................................................................................................................................................. 18
Referencias Bibliográficas ....................................................................................................................... 18
El Diseño de documentos XML ó DTD
Los documentos XML no se elaboran para permanecer aislados, forman parte de un sistema
más complejo que es capaz de utilizar la información contenida en estos documentos con
algún objetivo.

Podemos identificar tres fases imprescindibles para crear documentos XML de cierta
complejidad:
1. Especificación de los requisitos.
2. Diseño de las etiquetas
3. Marcado de los documentos.

1. Especificación de requisitos

Al igual que ocurre con la mayoría de los objetos que fabricamos, o en la creación de
programas informáticos, los documentos XML parten de una especificación de requisitos.

En esta primera fase se identifican y se documentan aspectos tales como:


 Objetivos que se pretende conseguir
 Uso que se va a dar a los documentos
 Necesidades existentes
 Perspectivas de crecimiento
 Recursos disponibles
 Limitaciones existentes (de tiempo, de presupuesto, de personal, etc.)
 Personas o empresas que realizarán las distintas partes del proceso, etc. Todo ello
resulta en un documento de especificación de requisitos que es el punto de partida
para la fase de diseño.

2. El Diseño

El diseño es la siguiente fase, se encarga de definir cuáles son las marcas por incluir, sus
nombres, la información que contienen, la relación entre las marcas, etc.
Normalmente para abordar un problema es conveniente dividirlo en fases más sencillas que
permitan resolverlo, esta frase cobra un especial significado si la resolución del problema no
es trivial o admite varias soluciones. En esta sección se verán algunos pasos y consejos útiles
a la hora de realizar el diseño de documentos XML.

Primer paso: ¿qué hay que marcar?


A partir de la especificación de requisitos se puede deducir cuáles son las piezas de
información que es necesario incluir en el documento XML para poder soportar los procesos
que se piden, y que son, en definitiva, el fin último de XML. En este estado del proceso de
diseño no es posible todavía hablar ni de elementos ni de atributos, de momento podemos
referirnos a ellos como átomos informativos.

Conviene utilizar una norma consistente para la realización del marcado y mantenerla a lo
largo de todo el documento. En el ejemplo que nos ocupa, todos los nombres se han escrito
con minúsculas y sin acentuar, y todos son además palabras completas.

Segundo paso: añadir organización y estructura

Después de conocer qué marcas básicas hay que añadir, seguiría intentar relacionarlas y
agruparlas de la manera más coherente posible. También es posible que aparezcan nuevos
tipos de datos, que aparecen como necesarios para agrupar/separar componentes.

En este estado del proceso de creación resulta interesante la realización de un árbol que
muestre la relación entre todos los tipos de datos, y que ayude a descubrir nuevas relaciones
o una distribución distinta.

Tercer paso: Elementos o atributos

El siguiente paso es pensar si estos "tipos de datos" pueden ser elementos o atributos. Se
descartan como atributos aquellas piezas que puedan contener subelementos (ahora o en el
futuro), así como aquellas que contengan textos más largos de una frase o demasiada
información como para guardarla con atributos elegantemente.

Cuarto paso: Últimas consideraciones en el diseño.


Este proceso de creación de etiquetas debe ser realizado con delicadeza y sabiduría, para no
quedar defraudados por los resultados de un mal diseño. Se tiene que pensar primero que es
lo que se espera como resultado del documento XML y diseñar un conjunto de marcas que se
ajuste a nuestro objetivo y definir la estructura lógica y la semántica del documento.

La estructura lógica y los programas.

La estructura lógica y la organización de los elementos y los atributos debe reflejar el


contenido del documento original, pero existen algunos pormenores a considerar. Las marcas
y su estructura lógica deben tender a que su lectura sea fácilmente legible y asimilable por un
lector humano, pero sobre todo deben tender a hacer que los programas que soportaran estas
etiquetas sean más sencillos. Es decir, estructuras demasiado complejas (muchos niveles de
anidamiento de elementos), o demasiado simples, complican los programas que se
construyen sobre ellas. El primer caso porque es necesario navegar más por el documento
para encontrar la información que se busca y en segundo caso porque hay que descartar
información que no se desea y que está mezclada con la que se busca. Las marcas que
reflejan la estructura lógica más que el contenido, es decir las marcas que engloban más
marcas y que permiten dividir el documento en partes, facilitan las búsquedas de información
o de marcas concretas ya que al "trocear" el documento sólo hay que buscar en una
determinada zona semántica. Estas marcas facilitan además una rápida comprensión del
documento. Pero un exceso, puede complicar las búsquedas y dificultar la lectura y
compresión del documento.2.
Tratamiento de información XML
Existen muchos medios para la gestión de ficheros de XML, entre ellos está por medio de
DB2, Apis de Android Studio(JAVA) y de JAVA junto con su librería JAXB.

JAXB aporta una forma sencilla de asociar un esquema XML a su representación en código
Java. Esto hace simple el manejo de datos XML desde Java, sin necesidad de conocer mucho
acerca de XML.

JAXB consta de 3 componentes principales:

 El compilador de esquema, que transforma el esquema en una serie de elementos


requeridos para el proceso de lectura (unmarshalling) y escritura (marshalling) de un
XML.
 El generador de esquema, que convierte estos elementos (descritos mediante
anotaciones Java) a un esquema XML.
 El framework de asociación (binding), que ofrece las operaciones de lectura
(unmarshalling) y escritura (marshalling) para el acceso, manipulación y validación de
contenido XML usando los elementos generados mediante las herramientas anteriores.

Los pasos para realizar la asociación entre un documento XML y un objeto Java con JAXB
son los siguientes:

1. Generar las clases Java (a partir del esquema XML).


2. Compilar las clases.
3. Leer el documento origen (unmarshall).
4. Generar el árbol de contenido. (El proceso de lectura genera un árbol de contenido a
partir de las clases generadas.)
5. Validar: antes de generar el árbol de contenido a partir del XML origen se puede validar
dicho documento. También se puede validar el documento a generar (cuando sea el
caso).
6. Procesar el contenido. La aplicación cliente puede modificar los datos del documento
XML que representa el árbol de contenido a través de los interfaces generados por el
compilador
7. Escritura (marshall), esto es, generar uno o más documentos XML a partir del árbol de
contenidos.

Árboles y elementos - Documentos válidos


Un documento XML es siempre descriptiva. La estructura de árbol es a menudo referido como
árbol XML y desempeña un papel importante para describir cualquier documento XML
fácilmente.

La estructura de árbol contiene raíz (padre) elementos, elementos secundarios y así


sucesivamente. Con estructura de árbol, puede llegar a conocer todas las ramas y sub-ramas a
partir de la raíz. El análisis comienza en la raíz, y luego se desplaza hacia la parte inferior de
la primera sucursal a un elemento, tome la primera sucursal de allí, y así hasta el nodo hoja.
XML y CSS3 - Visualización de documentos
Las hojas de estilo CSS se desarrollaron para utilizarse junto con el lenguaje de marcas
HTML, pero un documento XML también puede hacer referencia a una hoja de estilo CSS y
visualizarse en el navegador.
Si un documento XML enlaza a una hoja de estilo, los navegadores ya no muestran las
etiquetas y aplican la hoja de estilo.

La propiedad display

Al escribir una hoja de estilo para un documento XML hay que tener en cuenta que los
navegadores no aplican generalmente la hoja de estilo predeterminada (salvo que se utilicen
etiquetas html asociándolas al espacio de nombres del xhtml como en los ejemplos
anteriores), así que al escribir una hoja de estilo para un documento XML hay que definir
propiedades que normalmente no se suelen definir.
La más importante es la propiedad display, que establece el modo de visualización del
elemento.

Los valores posibles de la propiedad display son: none, block, compact, inline, inline-
block, inline-table, list-item, marker, run-in, table, table-caption, table-cell, table-
column, table-column-group, table-footer-group, table-header-group, table-row y table-row-
group.
Los modos de visualización más utilizados son:

 none (ninguno) permite ocultar elementos.


 block (bloque) es el modo de visualización de los elementos de tipo bloque, como
párrafos (<p>), encabezados (<h1>, <h2>, ...), etc. El elemento ocupa toda la ventana
en horizontal y ocupa el espacio vertical necesario para alojar el contenido del
elemento.
 inline (elemento en línea) es el modo de visualización de etiquetas
como <strong>, <em>, <span>, <a>, etc. El elemento sólo ocupa el espacio necesario
para alojar el contenido del elemento. En HTML los elementos en-línea tienen que
estar contenidos dentro de elementos de bloque.
 list-item (lista) es el modo de visualización de elementos de listas
como <li>, <dd>, <dt>.
 table (tabla), table-row (fila) y table-cell (celda) se combinan para mostrar elementos
en forma de tabla.

Creación de páginas XHTML impulsadas desde una base de datos


XML

XHTML (Lenguaje de Marcado de Hipertexto Extensible) es una versión más estricta y


limpia de HTML, que nace precisamente con el objetivo de remplazar a HTML ante su
limitación de uso con las cada vez más abundantes herramientas basadas en XML. XHTML
extiende HTML 4.0 combinando la sintaxis de HTML, diseñado para mostrar datos, con la
de XML, diseñado para describir los datos.

Base de datos XML se utiliza para almacenar la gran cantidad de información en formato
XML. Como el uso de XML está aumentando en todos los campos, es necesario tener el
lugar asegurado para almacenar los documentos XML. El dato almacenado en la base de
datos se puede consultar mediante XQuery, serializada y exportar a formato deseado.

Tipos base de datos XML


Hay dos tipos principales de XML bases de datos:

 XML- enabled

 XML nativo (NXD)

XML Base de datos activada


XML base de datos activada no es sino la extensión de la conversión de documentos XML.
Esta base de datos relacional, en caso de que los datos se almacenan en tablas que se
componen de filas y columnas. Las tablas contienen conjunto de registros, que a su vez
constan de campos.

Base de datos XML nativa


Base de datos XML nativa se basa en el contenedor en lugar de formato de tabla. Puede
almacenar una gran cantidad de documentos y datos XML. Base de datos XML nativa es
consultado por el XPath de expresiones.
Base de datos XML nativa tiene la ventaja sobre el XML-enabled base de datos. Es muy
capaz de almacenar, consultar y mantener el documento XML de XML-enabled base de
datos.
Ejemplo muestra de base de datos XML:

<?xml version="1.0"?>
<contact-info>

<contact1>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</contact1>

<contact2>
<name>Manisha Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 789-4567</phone>
</contact2>

</contact-info>

XHTML en documentos XML

el XML sirve para describir información y el HTML sirve para darle formato y presentarla a
través de un navegador. O sea que el XML no es ni será nunca un reemplazo del HTML sino
un complemento que sirve para manejar la información separada del formato.

El lenguaje XHTML surgió ante los problemas de compatibilidad que surgían cuando se usaba
un documento HTML en distintas plataformas. La especificación XHTML viene a ser una
reformulación del HTML como aplicación XML. En realidad, es una reformulación de las tres
definiciones de tipo de documento HTML 4.0 como aplicaciones XML. Su finalidad es que
pueda ser usado como lenguaje de contenidos que sea a su vez conforme a XML y, si se siguen
algunas sencillas directrices, funciona en agentes de usuario (esto es, las aplicaciones que leen
y procesan documentos) conformes con HTML4.0.
Utilizar XHTML en lugar de HTML, xhtml presenta las siguientes mejoras:

 Los documentos XHTML son conformes a XML. Como tales, son fácilmente
visualizados, editados y validados con herramientas XML estándar.

 Los documentos XHTML pueden escribirse para que funcionen igual o mejor que lo
hacían antes tanto en las aplicaciones de usuario conformes a HTML 4.0 como en las
nuevas aplicaciones conformes a XHTML 1.0.
 Los documentos XHTML pueden usar aplicaciones (por ejemplo, scripts y applets)
que se basen ya sea en el Modelo del Objeto Documento de HTML o XML[DOM].

 A medida que la familia XHTML evolucione, los documentos conformes a XHTML


1.0 estarán más preparados para interactuar dentro de y entre distintos entornos
XHTML.

Validación de un XML

principales lenguajes de validación


Las técnicas más populares para definir validaciones son:

 DTD, Document Type Definition. Validación por documentos de definición de tipos.


Se utilizaba en el lenguaje SGML y se permite su uso con XML. Es la más utilizada,
pero tiene numerosas voces críticas porque su sintaxis no es XML.
 XML Schema o esquemas XML. Mucho más coherente con el lenguaje XML. Es la
aconsejada actualmente, pero todavía no tiene una implantación al 100%
 Relax NG. Es una notación sencilla y fácil de aprender que está haciéndose muy
popular. No tiene tantas posibilidades como XML Schema, pero tiene una sintaxis
más sencilla. Además, admite añadir instrucciones de tipo XML Schema por lo que
se convierte en una de las formas de validación más completas.
 Schematron. Permite establecer reglas que facilitan establecer las relaciones que han
de cumplir los datos de un documento XML. No es tan bueno para establecer el resto
de reglas de validación (orden de elementos, tipos de datos,etc).
La validación se encarga de verificar:
1. La corrección de los datos: aunque validar contra un esquema no garantiza al
100% que los datos son correctos, nos permite detectar formatos nulos o valores
fuera de rango y por tanto incorrectos.
2. La integridad de los datos: al validar, se comprueba que toda la información
obligatoria está presente en el documento.
3. El entendimiento compartido de los datos: a través de la validación se comprueba
que el emisor y receptor perciban el documento de la misma manera, que lo
interpreten igual.
4. Estar bien formado: Cumple con la sintaxis de XML.
Para que un documento XML también sea válido, durante el proceso de validación se
comprueba:

 Qué elementos o atributos se permiten en un documento del tipo definido en el


esquema.
 La estructura de los elementos y atributos (elementos anidados, atributos obligatorios
u opcionales, etc.)
 El orden de los elementos.
 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.
 La unicidad de valores dentro de un documento

 <? xml version="1.0" encoding="UTF-8" standalone="no" ?>


 <!DOCTYPE nota SYSTEM "NotaInterna.dtd">
 <nota importancia="alta">
 <remitente>Remitente</remitente>
 <destinatario>Destinatario</destinatario>
 <titulo>Titulo</titulo>
 <mensaje>Texto</mensaje>
 </nota>

DTD

Una DTD es un documento que define la estructura de un documento XML: los elementos,
atributos, entidades, notaciones, etc, que pueden aparecer, el orden y el número de veces que
pueden aparecer, cuáles pueden ser hijos de cuáles, etc. El procesador XML utiliza la DTD
para verificar si un documento es válido, es decir, si el documento cumple las reglas del
DTD.
La DTD que debe utilizar el procesador XML para validar el documento XML se indica
mediante la etiqueta DOCTYPE. La DTD puede estar incluida en el propio documento, ser
un documento externo o combinarse ambas.

 La DTD puede incluirse en el propio documento, con la siguiente sintaxis:

<!DOCTYPE nombre [
... declaraciones ...
]>

 La DTD puede estar en un documento externo y, si sólo va a ser utilizada por una
única aplicación, la sintaxis es la siguiente:

<!DOCTYPE nombre SYSTEM "uri">


Se puede combinar una DTD externa con una DTD interna, con la siguiente sintaxis:
<!DOCTYPE nombre SYSTEM "uri" [
... declaraciones ...
]>

 La DTD puede estar en un documento externo y, si va a ser utilizada por varias


aplicaciones, la sintaxis es la siguiente:

<!DOCTYPE nombre PUBLIC "fpi" "uri">


Se puede combinar una DTD externa con una DTD interna, con la siguiente sintaxis:
<!DOCTYPE nombre PUBLIC "fpi" "uri" [
... declaraciones ...
]>
En todos estos casos:

 "nombre" es el nombre del tipo de documento XML, que debe coincidir con el
nombre del elemento raíz del documento XML.
 "uri" es el camino (absoluto o relativo) hasta la DTD.
 "fpi" es un indentificador público formal (Formal Public Identifier).

Declaraciones
Las DTDs describen la estructura de los documentos XML mediante declaraciones. Hay
cuatro tipos de declaraciones:

 Declaraciones de entidades
 Declaraciones de notaciones
 Declaraciones de elementos, que indican los elementos permitidos en un
documento y su contenido (que puede ser simplemente texto u otros
elementos).
 Declaraciones de atributos, que indican los atributos permitidos en cada
elemento y el tipo o valores permitidos de cada elemento.
XSD

XSD (XML Schema Definition) es un lenguaje, también llamado simplemente XML


Schema, que sirve para definir la estructura de un documento XML, permitiendo su
validación.
Elementos de un XSD

Declara una estructura con nombre que puede tener datos de instancia en documentos
XML. La estructura de un elemento XSD puede ser simple o compleja. Los elementos se
pueden declarar de forma global o local.

Los elementos globales aparecen en el nivel superior del esquema de un documento, lo


que significa que el padre debe ser el esquema. Deben ser exclusivos dentro de todo el
esquema y se pueden reutilizar (hacer referencia a ellos) en otros elementos, tipos o
grupos. Los elementos locales se encuentran dentro de otros elementos o tipos
complejos. Están en el ámbito de las definiciones de sus padres y no se pueden volver a
utilizar en otros elementos o tipos.
Atributo XSD

Modela valores de datos en un esquema XML. Asigna un nombre a un atributo y lo


asocia con un tipo simple. Los atributos XSD se pueden declarar de forma global o local.

Los atributos globales son componentes de nivel superior que están contenidos en un
esquema XML. Deben ser exclusivos dentro del esquema contenedor y se pueden
reutilizar (hacer referencia a ellos) en otros elementos, tipos o grupos. Los atributos
locales se definen dentro de elementos o tipos. Están en el ámbito de las definiciones de
sus padres y no se pueden volver a utilizar en otros elementos o tipos.

Ejemplo
Esquema de una orden de compra (PO.XSD)

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:annotation>
<xsd:documentation xml:lang="en">
Purchase order schema for Example.com.
Copyright 2000 Example.com. All rights reserved.
</xsd:documentation>
</xsd:annotation>

<xsd:element name="purchaseOrder" type="PurchaseOrderType"/>

<xsd:element name="comment" type="xsd:string"/>

<xsd:complexType name="PurchaseOrderType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>

<xsd:complexType name="USAddress">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="state" type="xsd:string"/>
<xsd:element name="zip" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="country" type="xsd:NMTOKEN"
fixed="US"/>
</xsd:complexType>

<xsd:complexType name="Items">
<xsd:sequence>
<xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="productName" type="xsd:string"/>
<xsd:element name="quantity">
<xsd:simpleType>
<xsd:restriction base="xsd:positiveInteger">
<xsd:maxExclusive value="100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="USPrice" type="xsd:decimal"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="partNum" type="SKU" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

<!-- Stock Keeping Unit, a code for identifying products -->


<xsd:simpleType name="SKU">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{3}-[A-Z]{2}"/>
</xsd:restriction>
</xsd:simpleType>

</xsd:schema>
Extensiones y usos de XML: Cloud Computing

Excel
Tipo de archivo XML Extensión
Libro .xlsx
Libro habilitado para macros .xlsm
Plantilla .xltx
Plantilla habilitada para macros .xltm
Libro binario no XML .xlsb
Complemento habilitado para macros .xlam

Investigué sobre las extensiones de XML, pero me arrojaba varias terminaciones tales
como las que agregué arriba, y fuera de eso encontré solo proveedores vendiendo
servicios de Cloud Computing, de igual manera encontré documentos de IBM, patentes
de uso entre CC y XML pero no fui capaz de comprender a lo que se referían.
Conclusiones

En general, XML es un tema muy extenso, con un nivel alto de dificultad para
comprender aquellas funciones que posee, aunque como todo lenguaje es posible de
entender si se mantiene en práctica.

Me llamó la atención la forma en la que se usan actualmente, aunque sigo sin


comprender la gran mayoría, este trabajo de investigación me logró llamar la atención y
generar un punto de interés (curiosidad) con respecto a este tema.

Referencias Bibliográficas

 http://www.mundolinux.info/validacion-de-documentos-xml.htm
 http://www.madrid.org/arquitecturasw/desarrollos-
atlas/integracion/tratamiento-de-xml
 https://sites.google.com/site/todoxmldtd/referencia/referencia-de-xml/08-
diseno-de-documentos-xml
 https://www.tutorialspoint.com/es/xml/xml_tree_structure.htm
 https://sites.google.com/site/todoxmldtd/aorendemos-con-
ejemplos/ejemplos-de-xml/2-xml-tiene-una-estructura-de-arbol
 http://www.mclibre.org/consultar/xml/lecciones/xml_css.html
 http://www.hipertexto.info/documentos/xhtml.htm
 http://www.mclibre.org/consultar/xml/lecciones/xml_dtd.html
 https://jorgesanchez.net/manuales/xml/fundamentos-xml.html
 https://www.ibm.com/support/knowledgecenter/es/SSZJPZ_11.5.0/com.ibm.s
wg.im.iis.metadata.common.doc/topics/c_xml_schema_definition_assets.html
 https://www.fing.edu.uy/tecnoinf/mvd/cursos/xml/middlexml.htm

Das könnte Ihnen auch gefallen