PDF de programación - XML: estándar para la estructuración e intercambio de documentos

Imágen de pdf XML: estándar para la estructuración e intercambio de documentos

XML: estándar para la estructuración e intercambio de documentosgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.025 visualizaciones desde el 14 de Enero del 2017
30,5 KB
7 paginas
Creado hace 22a (09/02/2002)
XML: estándar para la estructuración e intercambio de

documentos

Jaime Villate.

Universidad de Porto, Portugal

[email protected]

9 de febrero de 2002

1.

Introducción

Esta presentación está prevista para una hora, y será seguida por una sesión práctica donde

construiremos algunos documentos XML que serán transformados con XSLT.

2. El lenguaje de marcas XML

XML = Extensible Markup Language
Estándar abierto y libre del consorcio W3C (http://www.w3.org) propuesto en 1996; primera

versión: 1998. Muy utilizado actualmente.

Un documento XML puede ser estructurado en forma jerárquica.

3. Ventajas del XML

Se puede obligar a los autores a seguir un patrón determinado.

Puede guiar los autores a través del proceso de escritura.

Simplifica la tarea de extraer información automáticamente.

Un único documento fuente puede dar origen a varios otros formatos.

Permite separar contenido y forma de presentación.

Una mayor uniformidad entre documentos con el mismo DTD.

Más explícito y simple que el SGML, facilitando su análisis.

La Espiral - XML: estándar para la estructuración e intercambio de documentos

2

Figura 1: Algunos de los elementos del DTD DocBook v. 4.

4. Conceptos básicos de XML

Simbolos especiales: < > ”’ & (&lt;, &gt;, &quot;, &apos;, &amp;).
Etiquetas (tags) y elementos: <p>nombre</p>
Atributos (Attributes): <elemento atributo=”texto.otro=”texto”>
Elementos vacíos: <nada></nada> or simply <nada />

5. Definición del Tipo de Documento, DTD

DTD = Document Type Definition
Ejemplo:

<!DOCTYPE xbel PUBLIC
"+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
"http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">

Un DTD define una o más estructuras jerárquicas, con un elemento raíz, ancestros, hermanos

y descendientes.

6. Estructura Jerárquica de un DTD

7. Documentos Válidos

Documento XML válido: especifica el DTD usado y se ajusta a sus reglas sintácticas.
Document conforme: cumple las reglas sintácticas de XML, pero no sigue ningún DTD en

particular.

La Espiral - XML: estándar para la estructuración e intercambio de documentos

3

8. Ficheros XML

Los ficheros XML son ficheros de texto. Pueden tener en la primera línea una instrucción de
procesamiento que lo identifica como XML, y pode tener una etiqueta que define el DTD usado:

<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE article PUBLIC "-//laespiral.org//DTD LE-document 4.0//EN"

"LE-document-4.0.dtd" >

<article>
Texto del artículo.
</article>

9. Ejemplo

El siguiente documento XML incluye su propio DTD:

<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE directorio[

<!ELEMENT directorio (nombre, relacion, telefono+)>
<!ATTLIST directorio actualizado CDATA #IMPLIED>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT relacion (#PCDATA)>
<!ELEMENT telefono (#PCDATA)>

]>

<directorio actualizado="8/2/2002">

<nombre>Alberto Perez</nombre>
<relacion>Jefe</relacion>
<telefono>45690343 (trabajo)</telefono>
<telefono>29511350 (casa)</telefono>

</directorio>

10. DocBook XML

Versión XML de un DTD muy usado para escribir libros, artículos y otros documentos,
especialmente documentación técnica (ver: http://www.docbook.org).

Lanzado en 1991 por “HaL Computer Systems” y “O’Reilly”.

Ha sido adoptado por varios proyectos de documentación de GNU/Linux.

Originalmente escrito en SGML, ya está disponible en formato XML (versión 4.1.2).

Existen páginas de estilo disponibles para producir HTML, TeX (usando Jade) y otros for-
matos.

La Espiral - XML: estándar para la estructuración e intercambio de documentos

4

11. Versión simplificada de DocBook

La complejidad del DTD de DocBook (muchos elementos y relaciones entre ellos), hace que
sea difícil para un autor sin experiencia saber que elementos debe usar. El DTD de La Espiral es
una versión simplificada de DocBook con los siguientes objetivos:

Simplificar la estructura jerárquica, haciéndola más fácil de seguir en un documento.

Facilitar la creación de páginas de estilo para transformar los documentos.

Usar XSLT para generar documentos LaTeX bien estructurados, faciles de modificar y que
puedan ser procesados o con latex o con pdflatex (sin usar Jade).

(DTD y páginas de estilo disponibles en: http://www.laespiral.org/xml/styles/ y paquete De-

bian le-docxml)

12. Lenguaje de transformación XSLT

XSLT = Extensible Style-sheet Language Transformation.
Una página XSLT es también un documento XML; por ejemplo:

<?xml version="1.0" encoding="iso-8859-1" ?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" encoding="iso-8859-1"/>

</xsl:stylesheet>

13. plantillas XSLT

Especifican lo que se imprime cuando aparezca un determinado elemento.

<xsl:template match="itemizedlist">

<ul>
<xsl:apply-templates/>
</ul>

</xsl:template>

En este caso cada vez que aparezca <itemizedlist> ... </itemizedlist>, su contenido será es-
crito dentro de las marcas <ul> y </ul> y se le aplicará recusivamente cualquier otra plantilla
que exista, o la propia plantilla, si existe otro elemento <itemizedlist> dentro de su contenido.

La Espiral - XML: estándar para la estructuración e intercambio de documentos

5

14. Selección de elementos y atributos en XSLT

/chapter Un elemento llamado chapter, en la raíz.

chapter Un elemento chapter dentro del elemento actual.

chapter/section Un elemento sección, hijo directo de un elemento chapter dentro del elemento

actual.

chapter/section[2 ]

El segundo hijo section del elemento chapter.

chapter//paragraph Cualquier elemento paragraph, descendiente en cualquier grado de un ele-

mento chapter dentro del elemento actual.

//paragraph Cualquier elemento paragraph dentro del documento.

chapter[@$title ]

Un elemento chapter que tenga un atributo title.

15. Uso de XML en Debian GNU/Linux

Editores de XML (Emacs + psgml, gtux, etc).

Herramientas para mantener el catálogo SGML/XML.

Analizadores sintácticos de XML/XSLT.

Bibliotecas para procesar XML: DOM y SAX

16. El catálogo XML.

En el fichero /etc/sgml/catalog se identifican los DTD disponibles y su ubicación

dentro del sistema de ficheros. Por ejemplo, una sección dice.

-- DocBook driver file .................................................. --

PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "docbookx.dtd"

La Espiral - XML: estándar para la estructuración e intercambio de documentos

6

17. Analizadores sintácticos de XML

Pueden verificar si un documento es válido o no y extraer algunos elementos o atributos.

nsgmls

rxp

xerces

muchos más.

18. Analizadores de XML/XSLT

Además de analizar XML, pueden también aplicar las transformaciones XSLT de una página

de estilo.

Sablotron (sabcmd) (http://www.gingerall.cz/ga/Sablot-0-52.html)

Libxslt (xsltproc; proyecto GNOME) (http://www.xmlsoft.org/)

Xalan (xalan en Java y C++; proyecto Apache) (http://xml.apache.org/)

Cocoon (servlet del proyecto Apache) (http://xml.apache.org/)

19. Bibliotecas para procesar XML

DOM (Document Object Model) Lee el documento completo, permitiendo navegar su estruc-

tura jerárquica. Adecuado para aplicaciones de “cliente”, tales como editores de XML.

SAX (Standard API for XML) Procesa el documento secuencialmente, ejecutando determina-
dos procedimientos cuando aparezca alguna etiqueta. Adecuado para aplicaciones de “servi-
dor”, tales como transformación de XML usando páginas de estilo XSLT.

20. Base de datos de documentos XML

Colaboradores ocasionales de La Espiral pueden escribir documentos cortos (recetas), usando

una interfaz web. Esos documentos usan un DTD propio ( http://www.laespiral.org/recetas/).

Los ficheros XML se almacenan en el repositorio CVS del proyecto, donde pueden ser actu-

alizados por los editores y alimentados a una base de datos SQL usada para clasificarlos.

Una parte del código perl usado para procesar los documentos, es la siguiente:

La Espiral - XML: estándar para la estructuración e intercambio de documentos

7

sub updatedb
{

use DBI;
use XML::DOM;
my ($id,$file) = @_;
my $bd = ’laespiral’;
my $dbmaster = ’villate’;
my $mydb = DBI->connect("dbi:Pg:dbname=$bd",$dbmaster,’’)

or return "Data base unaccessible \n$DBI::errstr\n";

my $sql = $mydb->prepare(q{update recipes set title=?, author=?, }

. q{date=?, contents=? where id=?});

my $parser = new XML::DOM::Parser;
my $doc = $parser->parsefile ($file);
my $title = &extract($doc->getElementsByTagName ("title"));
my $author = &extract($doc->getElementsByTagName ("author"));
my $date = &extract($doc->getElementsByTagName ("date"));
my $contents = &extract($doc->getElementsByTagName ("contents"));
$sql->execute($title,$author,$date,$contents,$id)

or return "recipes::updatedb: Could not update recipe $id\n"

. "$DBI::errstr\n";

$mydb->disconnect;
return "The recipes database has been updated.\n";

}
sub extract
{

my (@elements) = @_;
my $element = $elements[0]->toString;
$element =˜ s/ˆ[ˆ>]*>\n?//;
$element =˜ s/\n?\s*<[ˆ<]*$//;
return $element;

}
  • Links de descarga
http://lwp-l.com/pdf694

Comentarios de: XML: estándar para la estructuración e intercambio de documentos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad