SlideShare una empresa de Scribd logo
1 de 23
Jose Emilio Labra Gayo – Universidad de Oviedo
XML
Departamento de Informática
Universidad de Oviedo
http://www.di.uniovi.es/~labra
Jose Emilio Labra Gayo – Universidad de Oviedo
1970s GML (IBM) – Generalized Markup Language
(Goldfarb, Mosher, Lorie)
1986 SGML Standard Generalized Markup Language
(Estándar ISO)
Intercambio de documentos
Principio: Separar contenido de representación
Muy flexible (permite definir vocabularios específicos
para cada aplicación)
HTML = vocabulario de SGML
Charles Goldfarb
SGML
SGML
Jose Emilio Labra Gayo – Universidad de Oviedo
Tim Bray
20% de características de SGML  80% de funcionalidad de SGML
Detalle (Especificación de XML = 26 páginas, de SGML > 500
Desarrollado por T. Bray, J. Paoli, C. M. Sperberg-McQueen (1995)
T. Bray: Consultor de Textuality para Netscape (ahora en Sun)
C. M. Sperberg-McQueen (TEI, SGML)
J. Paoli (Microsoft)
Objetivos:
Crear una versión simplificada de SGML para la Web
XML
Jose Emilio Labra Gayo – Universidad de Oviedo
"…necesito 20 rotuladores RX2 de código R23, que escriban y
2 grapadoras Lin de código G56 envueltas para regalo"
XML y el comercio electrónico
XML aparece en pleno apogeo del comercio electrónico
Formato que permita transmitir información
semiestructurada
Problema: Dificultad de procesar automáticamente el
lenguaje natural
Jose Emilio Labra Gayo – Universidad de Oviedo
HTML y la información semiestructurada
HTML = lenguaje para representar hipertexto
Etiquetas: body, h1, p, table, ... no tienen significado del
dominio
Indican únicamente cómo representar el contenido
Dentro de las etiquetas: lenguaje natural
<html>
<head>
<title>Pedido</title>
</head>
<body>
<h1>Pedido de material</h1>
<table>
<tr><th>Codigo</th><th>Nombre</th><th>Cantidad</th><th>Comentarios</th></tr>
<tr><td>R23</td><td>Rotulador RX2</td><td>20</td><td>Color negro</td></tr>
<tr><td>G56</td><td>Grapadora Lin</td><td>2</td><td>Envuelta para regalo</td></tr>
</table>
</html>
Técnicas de Screen scrapping
Una posible representación de pedidos...
Jose Emilio Labra Gayo – Universidad de Oviedo
XML y el comercio electrónico
Las marcas de XML permiten procesar de forma no
ambigüa los documentos
<pedido>
<producto codigo="R23">
<nombre>Rotulador RX2</nombre>
<cantidad>20</cantidad>
<comentarios>Comprobad que escriben</comentarios>
</producto>
<producto codigo="G56">
<nombre>Grapadora Lin</nombre>
<cantidad>2</cantidad>
<comentarios>Envuelta para regalo</comentarios>
</producto>
</pedido>
Jose Emilio Labra Gayo – Universidad de Oviedo
XML
<?xml version=“1.0” ?>
<raíz>
<elemento>
…
</elemento>
</raíz>
<!DOCTYPE raíz[
…
]>
Declaración de
XML
Declaración de
Tipo DTD
Opcional
Documento
Jose Emilio Labra Gayo – Universidad de Oviedo
Declaración de XML
version: Actual = 1.0
También existe la versión 1.1
Mayor compatibilidad con Unicode
Identificadores: Permite cualquier carácter Unicode
encoding: UTF-8, UTF-16, iso-8859-1, etc.
standalone: Indica si se puede gestionar el documento sin
hacer uso de recursos externos
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
Jose Emilio Labra Gayo – Universidad de Oviedo
Documentos y elementos XML
Los documentos consisten en una serie de datos marcados
mediante etiquetas
Las etiquetas describen la estructura del documento
Un elemento = etiqueta inicial, etiqueta final y contenido
entre ambas.
La etiqueta inicial puede incluir atributos
Distinción
minúsculas/mayúsculas
<etiqueta attributo="valor">……</etiqueta>
Jose Emilio Labra Gayo – Universidad de Oviedo
Documentos XML
Elementos vacíos
Elementos vacío: elementos que no incluyen información
Habitualmente, incluyen atributos
<etiqueta attributo="valor"></etiqueta>
=
<etiqueta attributo="valor" />
Ejemplo: <img src="foto.jpg" alt="Foto de Paisaje" ></img>
Sintaxis abreviada:
<img src="foto.jpg" alt="Foto de Paisaje" />
Jose Emilio Labra Gayo – Universidad de Oviedo
Anidamiento
Se pueden anidar elementos
<externo>
<interno>texto</interno>
</externo>
<externo>
<interno>texto</externo>
</interno>
...pero no se pueden entrelazar:


Jose Emilio Labra Gayo – Universidad de Oviedo
<pedido fecha="3/2/2011">
<producto codigo="G23">
<nombre>Grapadora</nombre>
<cantidad>20</cantidad>
<comentarios>
Contactar con <persona>Juan</persona>
</comentarios>
</producto>
<producto codigo="R15">
<nombre>Rotulador</nombre>
<cantidad>10</cantidad>
</producto>
</pedido>
Árbol del documento XML
pedido
producto productofecha
<root>
3/2/2011
Atributo
Elemento
Raíz
Texto
nombre cantidadcodigo
G23
comentarios
Grapadora 2 Contactar con persona
Juan
nombre cantidadcodigo
R15 Rotulador 10
http://software.hixie.ch/utilities/js/live-dom-viewer
Jose Emilio Labra Gayo – Universidad de Oviedo
Ejercicio
<html>
<head>
<title>Pagina</title></head>
<body>
<h1>Ejemplo</h1>
<p>La <a href="http://www.uniovi.es">
Universidad de Oviedo</a> está en
<em>Asturias</em>
</p>
</body>
</html>
Dibujar el árbol del siguiente documento HTML
NOTA: Cualquier documento HTML se puede representar como un árbol
Solución
Jose Emilio Labra Gayo – Universidad de Oviedo
<html>
<head>
<title>Prueba</title>
<script type="text/javascript">
function inserta() {
var hola = document.createTextNode("Hola");
var p = document.createElement("p");
p.appendChild(hola);
document.body.appendChild(p);
}
</script>
</head>
<body>
<input type="button" value="Saluda!" onclick="inserta();" />
</body>
</html>
Modificación del árbol
http://www.di.uniovi.es/~labra/cursos/XML/ejemplos/CambiaDOM.html
El árbol DOM puede manipularse dinámicamente
Jose Emilio Labra Gayo – Universidad de Oviedo
Atributos
Cada elemento puede contener atributos en la etiqueta inicial
<poema fecha="Abril de 1915" lugar="Granada">
. . .
</poema>
El orden de los atributos no es significativo
No puede haber 2 atributos con el mismo nombre
Las comillas dobles y simples pueden mezclarse
<autor frase="Juan dijo 'Hola' ">
. . .
</autor>
<autor frase='Juan dijo "Hola" '>
. . .
</autor>
Jose Emilio Labra Gayo – Universidad de Oviedo
Atributos predefinidos
xml:lang especifica el idioma. Ejemplo: en (inglés), es (español)
xml:space especifica cómo tratar el espacio en blanco.
preserve = Mantenerlo
default = Permitir a la aplicación que lo trate como quiera.
xml:base: Especifica URL de base en las referencias relativas
<doc xml:base="http://www.ejemplo.org">
<link url="friends.xml">Amigos</link>
</doc>
xmlns:a Declara a como un alias para un espacio de nombres
Jose Emilio Labra Gayo – Universidad de Oviedo
Comentarios
Mediante <!-- y -->
<poema fecha="Abril de 1915"
lugar="Granada">
<!-- Este poema es divertido -->
<titulo>Alba</titulo>
<verso>Mi corazón oprimido</verso>
<!-- Cuando me inspire escribiré
más versos -->
</poema>
NOTA: Dentro de los comentarios no pueden aparecer dos caracteres - seguidos
Jose Emilio Labra Gayo – Universidad de Oviedo
Caracteres especiales
Mediante &#nº; se puede incluir un carácter Unicode
Ejemplo: &#x2200; incluye 
&nombre; permite referenciar macros (se definen en
una DTD)
Algunas macros predefinidas
Para incluir los caracteres especiales, se utilizan las macros
&lt; <
&gt; >
&quot; “
&apos; ‘
&amp; &
<código>
if x &lt; 4 then x:=x + 1;
</código>
Jose Emilio Labra Gayo – Universidad de Oviedo
Secciones CDATA
Las secciones CDATA permiten escribir texto literal que no será
procesado
<código>
if x < 3 && x > 4 then
print “Hola”
</código>
<código>
<![CDATA[
if x < 3 && x > 4 then
print “Hola”
]]>
</código>
<código>
if x &lt; 3 &amp;&amp; x &gt; 4 then
print &quot;Hola&quot;
</código>


≡
Jose Emilio Labra Gayo – Universidad de Oviedo
Instrucciones de Procesamiento
Indican alguna acción a realizar por una aplicación externa
Si el procesador reconoce la aplicación externa le pasa los datos
Si no la reconoce, se ignora
Formato:
<?aplicación datos para la aplicación ?>
<?xml-stylesheet type="text/xsl" href="hoja.xsl"?>
Ejemplos:
<?php 2+3 ?>
<?sort ascending ?>
<?xml version="1.0" ?>
La declaración inicial puede considerarse una instrucción de procesamiento:
Jose Emilio Labra Gayo – Universidad de Oviedo
Documento bien formado
Sigue las reglas sintácticas anteriores
Importante:
Contiene un único elemento raíz
Todas las etiquetas están correctamente anidadas
<?xml version="1.0"?>
<poema fecha="Abril de 1915"
lugar="Granada">
<titulo>Alba</titulo>
<verso>Mi <em>corazón</em> oprimido</verso>
<verso>siente junto a la alborada</verso>
<verso>el <em>dolor</em> de sus amores</verso>
<verso>y el sueño de las distancias.</verso>
</poema>
Jose Emilio Labra Gayo – Universidad de Oviedo
Documento válido
Se puede incluir una declaración del tipo de documento
Documento válido
Está bien formado y
La estructura encaja con la declaración del tipo de documento
<?xml version="1.0"?>
<!DOCTYPE poema SYSTEM "poema.dtd">
<poema fecha="Abril de 1915"
lugar="Granada">
<titulo>Alba</titulo>
<verso>Mi <em>corazón</em> oprimido</verso>
<verso>siente junto a la alborada</verso>
<verso>el <em>dolor</em> de sus amores</verso>
<verso>y el sueño de las distancias.</verso>
</poema>
<!ELEMENT poema (titulo,verso*)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT verso (#PCDATA|em)*>
<!ELEMENT em (#PCDATA)>
<!ATTLIST poema fecha CDATA #REQUIRED
lugar CDATA #IMPLIED>
poema.dtd
Jose Emilio Labra Gayo – Universidad de Oviedo
FIN

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

An Introduction to the DOM
An Introduction to the DOMAn Introduction to the DOM
An Introduction to the DOM
 
Html forms
Html formsHtml forms
Html forms
 
Introduction to HTML and CSS
Introduction to HTML and CSSIntroduction to HTML and CSS
Introduction to HTML and CSS
 
JavaScript and BOM events
JavaScript and BOM eventsJavaScript and BOM events
JavaScript and BOM events
 
Basic Html Knowledge for students
Basic Html Knowledge for studentsBasic Html Knowledge for students
Basic Html Knowledge for students
 
3.2 javascript regex
3.2 javascript regex3.2 javascript regex
3.2 javascript regex
 
Basic perl programming
Basic perl programmingBasic perl programming
Basic perl programming
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Javascript 101
Javascript 101Javascript 101
Javascript 101
 
Javascript basics
Javascript basicsJavascript basics
Javascript basics
 
Json Tutorial
Json TutorialJson Tutorial
Json Tutorial
 
Dreamweaver CS3
Dreamweaver CS3Dreamweaver CS3
Dreamweaver CS3
 
Javascript
JavascriptJavascript
Javascript
 
Lab #2: Introduction to Javascript
Lab #2: Introduction to JavascriptLab #2: Introduction to Javascript
Lab #2: Introduction to Javascript
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS Presentation
 
Html hyperlinks
Html hyperlinksHtml hyperlinks
Html hyperlinks
 
Form using html and java script validation
Form using html and java script validationForm using html and java script validation
Form using html and java script validation
 
Html introduction
Html introductionHtml introduction
Html introduction
 
Web 2 | CSS - Cascading Style Sheets
Web 2 | CSS - Cascading Style SheetsWeb 2 | CSS - Cascading Style Sheets
Web 2 | CSS - Cascading Style Sheets
 
Css
CssCss
Css
 

Destacado (9)

Tutorial XML
Tutorial XMLTutorial XML
Tutorial XML
 
Xml ppt
Xml pptXml ppt
Xml ppt
 
Introducción xml
Introducción xmlIntroducción xml
Introducción xml
 
XML: Introducción
XML: IntroducciónXML: Introducción
XML: Introducción
 
Presentacion xml
Presentacion xmlPresentacion xml
Presentacion xml
 
XML.ppt
XML.pptXML.ppt
XML.ppt
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xml
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
XML - What is XML?
XML - What is XML?XML - What is XML?
XML - What is XML?
 

Similar a XML - Introducción

Introducción a XML: Sintaxis y documentos bien formados
Introducción a XML: Sintaxis y documentos bien formadosIntroducción a XML: Sintaxis y documentos bien formados
Introducción a XML: Sintaxis y documentos bien formadosJose Emilio Labra Gayo
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptprofesoralpe4
 
Etiquetas HTML básicas
Etiquetas HTML básicasEtiquetas HTML básicas
Etiquetas HTML básicasJorge Llanten
 
Curso de Desarrollo Web: Etiquetas HTML
Curso de Desarrollo Web: Etiquetas HTMLCurso de Desarrollo Web: Etiquetas HTML
Curso de Desarrollo Web: Etiquetas HTMLJorge Llanten
 
evaluacion 2 párcial 2 quimestre primero bachillerato
evaluacion 2 párcial 2 quimestre primero bachilleratoevaluacion 2 párcial 2 quimestre primero bachillerato
evaluacion 2 párcial 2 quimestre primero bachilleratoFanny Olmedo Ríos
 
El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2ferdinand13
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQueryContinuum
 
Innovaciones para Internet: La visión de Mozilla
Innovaciones para Internet: La visión de MozillaInnovaciones para Internet: La visión de Mozilla
Innovaciones para Internet: La visión de MozillaJuan Eladio Sánchez Rosas
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5joycesita
 
Presentación en Aspgems html5
Presentación en Aspgems html5Presentación en Aspgems html5
Presentación en Aspgems html5Jorge Alvarez
 
Lenguaje javascript
Lenguaje javascriptLenguaje javascript
Lenguaje javascriptrmonago
 

Similar a XML - Introducción (20)

Introducción a XML: Sintaxis y documentos bien formados
Introducción a XML: Sintaxis y documentos bien formadosIntroducción a XML: Sintaxis y documentos bien formados
Introducción a XML: Sintaxis y documentos bien formados
 
Presentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.pptPresentación muy chula ApéndiceTecnologíaXML.ppt
Presentación muy chula ApéndiceTecnologíaXML.ppt
 
HTML5
HTML5HTML5
HTML5
 
HTML5 Nuevas Etiquetas Semanticas
HTML5 Nuevas Etiquetas SemanticasHTML5 Nuevas Etiquetas Semanticas
HTML5 Nuevas Etiquetas Semanticas
 
Etiquetas HTML básicas
Etiquetas HTML básicasEtiquetas HTML básicas
Etiquetas HTML básicas
 
Curso de Desarrollo Web: Etiquetas HTML
Curso de Desarrollo Web: Etiquetas HTMLCurso de Desarrollo Web: Etiquetas HTML
Curso de Desarrollo Web: Etiquetas HTML
 
Xml
XmlXml
Xml
 
Unidad educativa
Unidad educativaUnidad educativa
Unidad educativa
 
evaluacion 2 párcial 2 quimestre primero bachillerato
evaluacion 2 párcial 2 quimestre primero bachilleratoevaluacion 2 párcial 2 quimestre primero bachillerato
evaluacion 2 párcial 2 quimestre primero bachillerato
 
El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2
 
Frameworks de templates y xml
Frameworks de templates y xmlFrameworks de templates y xml
Frameworks de templates y xml
 
Tag s
Tag sTag s
Tag s
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQuery
 
Innovaciones para Internet: La visión de Mozilla
Innovaciones para Internet: La visión de MozillaInnovaciones para Internet: La visión de Mozilla
Innovaciones para Internet: La visión de Mozilla
 
Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5Proyecto de Topicos II - HTML5
Proyecto de Topicos II - HTML5
 
Presentación en Aspgems html5
Presentación en Aspgems html5Presentación en Aspgems html5
Presentación en Aspgems html5
 
Lenguaje javascript
Lenguaje javascriptLenguaje javascript
Lenguaje javascript
 
Html axel martinez, julio casasola
Html axel martinez, julio casasolaHtml axel martinez, julio casasola
Html axel martinez, julio casasola
 
Bases de Datos - Parte 9/10 XML
Bases de Datos - Parte 9/10 XMLBases de Datos - Parte 9/10 XML
Bases de Datos - Parte 9/10 XML
 
Curso de diseño CSS
Curso de diseño CSSCurso de diseño CSS
Curso de diseño CSS
 

Más de Jose Emilio Labra Gayo

Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctoradoJose Emilio Labra Gayo
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data qualityJose Emilio Labra Gayo
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesJose Emilio Labra Gayo
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesJose Emilio Labra Gayo
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosJose Emilio Labra Gayo
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorJose Emilio Labra Gayo
 

Más de Jose Emilio Labra Gayo (20)

Publicaciones de investigación
Publicaciones de investigaciónPublicaciones de investigación
Publicaciones de investigación
 
Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctorado
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
Wikidata
WikidataWikidata
Wikidata
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologies
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
2017 Tendencias en informática
2017 Tendencias en informática2017 Tendencias en informática
2017 Tendencias en informática
 
RDF, linked data and semantic web
RDF, linked data and semantic webRDF, linked data and semantic web
RDF, linked data and semantic web
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
19 javascript servidor
19 javascript servidor19 javascript servidor
19 javascript servidor
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazados
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
XSLT
XSLTXSLT
XSLT
 
XPath
XPathXPath
XPath
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el Servidor
 

Último

Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 

Último (20)

Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 

XML - Introducción

  • 1. Jose Emilio Labra Gayo – Universidad de Oviedo XML Departamento de Informática Universidad de Oviedo http://www.di.uniovi.es/~labra
  • 2. Jose Emilio Labra Gayo – Universidad de Oviedo 1970s GML (IBM) – Generalized Markup Language (Goldfarb, Mosher, Lorie) 1986 SGML Standard Generalized Markup Language (Estándar ISO) Intercambio de documentos Principio: Separar contenido de representación Muy flexible (permite definir vocabularios específicos para cada aplicación) HTML = vocabulario de SGML Charles Goldfarb SGML SGML
  • 3. Jose Emilio Labra Gayo – Universidad de Oviedo Tim Bray 20% de características de SGML  80% de funcionalidad de SGML Detalle (Especificación de XML = 26 páginas, de SGML > 500 Desarrollado por T. Bray, J. Paoli, C. M. Sperberg-McQueen (1995) T. Bray: Consultor de Textuality para Netscape (ahora en Sun) C. M. Sperberg-McQueen (TEI, SGML) J. Paoli (Microsoft) Objetivos: Crear una versión simplificada de SGML para la Web XML
  • 4. Jose Emilio Labra Gayo – Universidad de Oviedo "…necesito 20 rotuladores RX2 de código R23, que escriban y 2 grapadoras Lin de código G56 envueltas para regalo" XML y el comercio electrónico XML aparece en pleno apogeo del comercio electrónico Formato que permita transmitir información semiestructurada Problema: Dificultad de procesar automáticamente el lenguaje natural
  • 5. Jose Emilio Labra Gayo – Universidad de Oviedo HTML y la información semiestructurada HTML = lenguaje para representar hipertexto Etiquetas: body, h1, p, table, ... no tienen significado del dominio Indican únicamente cómo representar el contenido Dentro de las etiquetas: lenguaje natural <html> <head> <title>Pedido</title> </head> <body> <h1>Pedido de material</h1> <table> <tr><th>Codigo</th><th>Nombre</th><th>Cantidad</th><th>Comentarios</th></tr> <tr><td>R23</td><td>Rotulador RX2</td><td>20</td><td>Color negro</td></tr> <tr><td>G56</td><td>Grapadora Lin</td><td>2</td><td>Envuelta para regalo</td></tr> </table> </html> Técnicas de Screen scrapping Una posible representación de pedidos...
  • 6. Jose Emilio Labra Gayo – Universidad de Oviedo XML y el comercio electrónico Las marcas de XML permiten procesar de forma no ambigüa los documentos <pedido> <producto codigo="R23"> <nombre>Rotulador RX2</nombre> <cantidad>20</cantidad> <comentarios>Comprobad que escriben</comentarios> </producto> <producto codigo="G56"> <nombre>Grapadora Lin</nombre> <cantidad>2</cantidad> <comentarios>Envuelta para regalo</comentarios> </producto> </pedido>
  • 7. Jose Emilio Labra Gayo – Universidad de Oviedo XML <?xml version=“1.0” ?> <raíz> <elemento> … </elemento> </raíz> <!DOCTYPE raíz[ … ]> Declaración de XML Declaración de Tipo DTD Opcional Documento
  • 8. Jose Emilio Labra Gayo – Universidad de Oviedo Declaración de XML version: Actual = 1.0 También existe la versión 1.1 Mayor compatibilidad con Unicode Identificadores: Permite cualquier carácter Unicode encoding: UTF-8, UTF-16, iso-8859-1, etc. standalone: Indica si se puede gestionar el documento sin hacer uso de recursos externos <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
  • 9. Jose Emilio Labra Gayo – Universidad de Oviedo Documentos y elementos XML Los documentos consisten en una serie de datos marcados mediante etiquetas Las etiquetas describen la estructura del documento Un elemento = etiqueta inicial, etiqueta final y contenido entre ambas. La etiqueta inicial puede incluir atributos Distinción minúsculas/mayúsculas <etiqueta attributo="valor">……</etiqueta>
  • 10. Jose Emilio Labra Gayo – Universidad de Oviedo Documentos XML Elementos vacíos Elementos vacío: elementos que no incluyen información Habitualmente, incluyen atributos <etiqueta attributo="valor"></etiqueta> = <etiqueta attributo="valor" /> Ejemplo: <img src="foto.jpg" alt="Foto de Paisaje" ></img> Sintaxis abreviada: <img src="foto.jpg" alt="Foto de Paisaje" />
  • 11. Jose Emilio Labra Gayo – Universidad de Oviedo Anidamiento Se pueden anidar elementos <externo> <interno>texto</interno> </externo> <externo> <interno>texto</externo> </interno> ...pero no se pueden entrelazar:  
  • 12. Jose Emilio Labra Gayo – Universidad de Oviedo <pedido fecha="3/2/2011"> <producto codigo="G23"> <nombre>Grapadora</nombre> <cantidad>20</cantidad> <comentarios> Contactar con <persona>Juan</persona> </comentarios> </producto> <producto codigo="R15"> <nombre>Rotulador</nombre> <cantidad>10</cantidad> </producto> </pedido> Árbol del documento XML pedido producto productofecha <root> 3/2/2011 Atributo Elemento Raíz Texto nombre cantidadcodigo G23 comentarios Grapadora 2 Contactar con persona Juan nombre cantidadcodigo R15 Rotulador 10 http://software.hixie.ch/utilities/js/live-dom-viewer
  • 13. Jose Emilio Labra Gayo – Universidad de Oviedo Ejercicio <html> <head> <title>Pagina</title></head> <body> <h1>Ejemplo</h1> <p>La <a href="http://www.uniovi.es"> Universidad de Oviedo</a> está en <em>Asturias</em> </p> </body> </html> Dibujar el árbol del siguiente documento HTML NOTA: Cualquier documento HTML se puede representar como un árbol Solución
  • 14. Jose Emilio Labra Gayo – Universidad de Oviedo <html> <head> <title>Prueba</title> <script type="text/javascript"> function inserta() { var hola = document.createTextNode("Hola"); var p = document.createElement("p"); p.appendChild(hola); document.body.appendChild(p); } </script> </head> <body> <input type="button" value="Saluda!" onclick="inserta();" /> </body> </html> Modificación del árbol http://www.di.uniovi.es/~labra/cursos/XML/ejemplos/CambiaDOM.html El árbol DOM puede manipularse dinámicamente
  • 15. Jose Emilio Labra Gayo – Universidad de Oviedo Atributos Cada elemento puede contener atributos en la etiqueta inicial <poema fecha="Abril de 1915" lugar="Granada"> . . . </poema> El orden de los atributos no es significativo No puede haber 2 atributos con el mismo nombre Las comillas dobles y simples pueden mezclarse <autor frase="Juan dijo 'Hola' "> . . . </autor> <autor frase='Juan dijo "Hola" '> . . . </autor>
  • 16. Jose Emilio Labra Gayo – Universidad de Oviedo Atributos predefinidos xml:lang especifica el idioma. Ejemplo: en (inglés), es (español) xml:space especifica cómo tratar el espacio en blanco. preserve = Mantenerlo default = Permitir a la aplicación que lo trate como quiera. xml:base: Especifica URL de base en las referencias relativas <doc xml:base="http://www.ejemplo.org"> <link url="friends.xml">Amigos</link> </doc> xmlns:a Declara a como un alias para un espacio de nombres
  • 17. Jose Emilio Labra Gayo – Universidad de Oviedo Comentarios Mediante <!-- y --> <poema fecha="Abril de 1915" lugar="Granada"> <!-- Este poema es divertido --> <titulo>Alba</titulo> <verso>Mi corazón oprimido</verso> <!-- Cuando me inspire escribiré más versos --> </poema> NOTA: Dentro de los comentarios no pueden aparecer dos caracteres - seguidos
  • 18. Jose Emilio Labra Gayo – Universidad de Oviedo Caracteres especiales Mediante &#nº; se puede incluir un carácter Unicode Ejemplo: &#x2200; incluye  &nombre; permite referenciar macros (se definen en una DTD) Algunas macros predefinidas Para incluir los caracteres especiales, se utilizan las macros &lt; < &gt; > &quot; “ &apos; ‘ &amp; & <código> if x &lt; 4 then x:=x + 1; </código>
  • 19. Jose Emilio Labra Gayo – Universidad de Oviedo Secciones CDATA Las secciones CDATA permiten escribir texto literal que no será procesado <código> if x < 3 && x > 4 then print “Hola” </código> <código> <![CDATA[ if x < 3 && x > 4 then print “Hola” ]]> </código> <código> if x &lt; 3 &amp;&amp; x &gt; 4 then print &quot;Hola&quot; </código>   ≡
  • 20. Jose Emilio Labra Gayo – Universidad de Oviedo Instrucciones de Procesamiento Indican alguna acción a realizar por una aplicación externa Si el procesador reconoce la aplicación externa le pasa los datos Si no la reconoce, se ignora Formato: <?aplicación datos para la aplicación ?> <?xml-stylesheet type="text/xsl" href="hoja.xsl"?> Ejemplos: <?php 2+3 ?> <?sort ascending ?> <?xml version="1.0" ?> La declaración inicial puede considerarse una instrucción de procesamiento:
  • 21. Jose Emilio Labra Gayo – Universidad de Oviedo Documento bien formado Sigue las reglas sintácticas anteriores Importante: Contiene un único elemento raíz Todas las etiquetas están correctamente anidadas <?xml version="1.0"?> <poema fecha="Abril de 1915" lugar="Granada"> <titulo>Alba</titulo> <verso>Mi <em>corazón</em> oprimido</verso> <verso>siente junto a la alborada</verso> <verso>el <em>dolor</em> de sus amores</verso> <verso>y el sueño de las distancias.</verso> </poema>
  • 22. Jose Emilio Labra Gayo – Universidad de Oviedo Documento válido Se puede incluir una declaración del tipo de documento Documento válido Está bien formado y La estructura encaja con la declaración del tipo de documento <?xml version="1.0"?> <!DOCTYPE poema SYSTEM "poema.dtd"> <poema fecha="Abril de 1915" lugar="Granada"> <titulo>Alba</titulo> <verso>Mi <em>corazón</em> oprimido</verso> <verso>siente junto a la alborada</verso> <verso>el <em>dolor</em> de sus amores</verso> <verso>y el sueño de las distancias.</verso> </poema> <!ELEMENT poema (titulo,verso*)> <!ELEMENT titulo (#PCDATA)> <!ELEMENT verso (#PCDATA|em)*> <!ELEMENT em (#PCDATA)> <!ATTLIST poema fecha CDATA #REQUIRED lugar CDATA #IMPLIED> poema.dtd
  • 23. Jose Emilio Labra Gayo – Universidad de Oviedo FIN