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)

Introduction to HTML
Introduction to HTMLIntroduction to HTML
Introduction to HTML
 
HTML, CSS, JavaScript for beginners
HTML, CSS, JavaScript for beginnersHTML, CSS, JavaScript for beginners
HTML, CSS, JavaScript for beginners
 
HTML5 Form Validation
HTML5 Form ValidationHTML5 Form Validation
HTML5 Form Validation
 
Class 3 - PHP Functions
Class 3 - PHP FunctionsClass 3 - PHP Functions
Class 3 - PHP Functions
 
Html
HtmlHtml
Html
 
Html Presentation
Html PresentationHtml Presentation
Html Presentation
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Json
JsonJson
Json
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
JavaScript - Chapter 8 - Objects
 JavaScript - Chapter 8 - Objects JavaScript - Chapter 8 - Objects
JavaScript - Chapter 8 - Objects
 
Html
HtmlHtml
Html
 
Understanding THML
Understanding THMLUnderstanding THML
Understanding THML
 
Introducing Cascading Style Sheets
Introducing Cascading Style SheetsIntroducing Cascading Style Sheets
Introducing Cascading Style Sheets
 
Xhtml
XhtmlXhtml
Xhtml
 
Css
CssCss
Css
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Generación de Interfaces a partir de XML
Generación de Interfaces a partir de XMLGeneración de Interfaces a partir de XML
Generación de Interfaces a partir de XML
 
CSS Best practice
CSS Best practiceCSS Best practice
CSS Best practice
 
presentation in html,css,javascript
presentation in html,css,javascriptpresentation in html,css,javascript
presentation in html,css,javascript
 

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

SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 

Último (20)

SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 

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