SlideShare una empresa de Scribd logo
1 de 41
XML (EXTENSIBLE MARKUP
LANGUAGE)
Escrito por: Elisabeth
Historia del XML
 Desarrollada a partir de 1996, como un
subconjunto de SGML.
 Adoptado por W3C.
 W3C
 Constituido en 1994 con el objetivo de
desarrollar protocolos comunes para la
evolución de Internet.
¿Qué es XML?
 XML es un lenguaje de marcas.
 Sus partes se distinguen entre sí por medio de
Etiquetas.
 Es extensible: podemos crear nuestras propias
etiquetas.
 Sigue una sintaxis estricta, es poco tolerante a
fallos.
 Es necesario el anidamiento.
 Hay dos tipos de etiquetas:
1. Etiqueta de apertura.
2. Etiqueta de cierre.
Ejemplo:
<?xml versión=”1.0”?>
<coche>
Citroen
<matricula>6545BHG</matricula>
</coche>
HTML contra XML
HTML XML
Se centra en el
despliegue y es menos
estructurado
Se centra en los datos y
es muy estructurado.
Las etiquetas y atributos
son fijos.
Las etiquetas y atributos
son extensibles.
Es posible olvidar cerrar
alguna etiqueta
Se fuerza a tener una
estructura consistente.
¿Para qué sirve XML?
 Ayuda en la integración de datos. Nos ayuda a estandarizar el
intercambio de información a través de ficheros.
 Un documento XML es un documento de texto plano en el que se
describe la estructura de la información que él mismo contiene.
 XML no sólo contiene información sino también las estructuras del
lenguaje necesarias para transmitir esa información, permitiendo
crear nuestras propias etiquetas adaptadas a nuestras necesidades.
 XML abre el camino para que los propios ordenadores interpreten la
información de las páginas Web.
 XML no contiene por sí sólo información sobre el formato en que se
deben representar los datos. Son necesarias hojas de estilo CCS
 Ejemplo:
<?xml versión=”1.0”?>
<valores>
<accion>
<mercado>Madrid</mercado>
<mercadoabierto>Si</mercadoabierto>
</accion>
</valores>
Ventajas de XML
 Formato ideal para transacciones B2B.
 Permite poderosas técnicas de extracción y búsqueda
de información.
 Las estrictas reglas para la composición de un
documento XML, permite su fácil análisis sintáctico.
 XML es sensitivo a mayúsculas y minúsculas.
 Fácil de procesar/entender por software o por
humanos.
 Pensado para ser utilizado en cualquier lenguaje o
alfabeto.
 Separa radicalmente la información o contenido, de su
presentación o formato.
Objetivos del XML:
 Directo a la red: sus caracteres son fácilmente
transferibles a través de internet.
 Compatible con todas las aplicaciones.
 Compatible con SGML.
 Fácil digestión: sencillez.
 Sin extras: no tienes características opcionales.
 Alto y claro: es legible tanto para máquinas como para
humanos.
 Es fácil y rápido de diseñar.
 Formalidad.
 Lápiz y papel: se puede hacer desde un editor de
textos.
 Lo importante es comprenderse.
XML bien formados
 Una herramienta que se utiliza es el XMLSpy. www.altova.com
 En esta herramienta podemos crear nuestro XML.
 Pulsando el botón “check well-formedness” podemos comprobar
si está bien formado o no.
 Estará bien formada cuando:
1. Su sintaxis es válida.
2. Utiliza caracteres autorizados
3. Comienza y finaliza todas las marcas.
4. Si satisface un conjunto de reglas.
5. Es valido si está bien formado y satisface las reglas que le
impone su DTD.
Para definir que debe ir en el fichero, en qué orden o qué es
obligatorio debemos de crear el DTD.
Formar XML
 Un documento se basa en una serie de entidades:
 Cada entidad contiene uno o más elementos.
 Cada elemento está formado por 0 o más atributos.
 Podemos poner comentarios dentro de un documento
con los símbolos
 <!...y…>
 Los comentarios pueden estar en cualquier parte del
documento, pero sin son muchos pueden consumir
ancho de banda.
 Un archivo consta de:
 Prólogo
 Cuerpo
 Epílogo
Ejemplo:
<?xml version="1.0" encoding="UTF-8"
standalone=“no"?>
<!...Esto es un comentario…>
<INFORMACION>
<INFO>
<TITULO> WINDOWS98? SOLO SI ME OBLIGAN!
</TITULO>
<AUTOR> Fernando Damián Martines </AUTOR>
<EMAIL> Cami@yahoo.es </EMAIL>
<VERSION>1.0</VERSION>
</INFO>
</INFORMACION>
DTD (Document Type Definition)
 El dtd indica que contenido debe tener el
documento XML y en qué orden.
 Actúa de plantilla.
 No guarda información sólo la estructura.
 El dtd puede ser:
 Externo.
 Interno
 Mixto.
Clases de DTD
 Veremos estas dos clases:
1. DTD interno o incrustado.
2. DTD externo.
DTD INCRUSTADO
 Un dtd empieza por :
<?xml versión=”1.0” standalone = “yes”?>
<!DOCTYPE nombre_etiqueta [
…
…
…
]>
El atributo “standalone” del prólogo inicializado al
valor “yes” indica que el documento es
autosuficiente y no necesita de otros elementos
externos.
DTD EXTERNO:
 Un dtd Externo empieza por :
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pelicula SYSTEM
“c:documentosfilmoteca.dtd”>
 (si el DTD está en esa ruta)
 <!DOCTYPE pelicula SYSTEM
“http://www.mipagina.es/filmoteca.dtd”>
 (si el DTD está en esa página web)
A partir de ahí comienza la definición del contenido de
los DTD
 El primer <!ELEMENT que aparece se
refiere a la etiqueta raíz.
<!ELEMENT identificador (tipo_de_contenido)>
Ejemplo:
<!ELEMENT nombre_vía (#PCDATA)>
Los tipos de contenidos que podemos indicar
son:
 #PCDATA: indica un contenido de tipo “dato analizable” (por
ejemplo, un número o una palabra).
 Otro elemento o elementos (si son varios aparecen separados por
comas).
 EMPTY: el elemento no tiene contenido (se llama elemento vacío).
 ANY: el elemento puede tener cualquier contenido: No es muy
conveniente utilizarlo, por ser demasiado genérico.
 MIXED: el elemento puede tener tipos de contenido diversos, pero al
contrario que con ANY, esos contenidos deben estar debidamente
especificados.
Ejemplos:
 <!ELEMENT sueldo (#PCDATA)>
 <!ELEMENT dirección (nombre_vía, número,
cp, localidad)>
 <!ELEMENT salto-de-página EMPTY>
 <!ELEMENT batiburrillo ANY>
 <!ELEMENT identificador (nif | nie)>
(significa que el elemento “identificador” puede
estar compuesto O por un “nif” O por un “nie”)
 En la especificación de contenido se
puede incorporar un símbolo de
frecuencia:
Ninguno = el elemento aparece sólo una vez.
+ = el elemento aparece 1 ó más veces.
* = el elemento es opcional y aparece 0 ó
más veces.
? = el elemento es opcional y aparece 0 ó 1
vez.
 Ejemplos:
<!ELEMENT libro (prólogo?, capítulo+)>
<!ELEMENT resolución (descripción,
alegaciones*)>
<!ELEMENT aviso (titulo?, (parrafo+,
grafico)*)>
Más sobre XML: Atributos
 La etiqueta denota el nombre del elemento, y
el atributo, sus propiedades.
 Los atributos sólo pueden indicarse en las
etiquetas de apertura, no en las de cierre.
 Un atributo está formado por el nombre del
mismo y el valor que toma, separados por el
signo de igualdad =. El valor del atributo debe
estar entre comillas, simples o dobles.
 Un atributo debe tomar valor siempre.
 EJEMPLO:
<?xml version=“1.0”?>
<películas>
<película>
<título>El Padrino</título>
<actores>
<actor papel=“protagonista”>Al
Pacino</actor>
<actor papel=“secundario”>Diane
Keaton</actor>
</actores>
</película>
</películas>
 OTRO EJEMPLO:
<?xml version=“1.0”?>
<trabajadores>
<trabajador situación=“fijo”>Pepe
Gómez</trabajador>
<trabajador
situación=“eventual”>Antonio
Marín</trabajador>
</trabajadores>
Definición de atributos en un
DTD
 <!ATTLIST elemento atributo tipo vpredeterminado>
elemento es el nombre del elemento cuyos
atributos queremos definir.
atributo es el nombre del atributo.
tipo es el tipo de valores que podrán tener el
atributo.
vpredeterminado (opcional) es el valor
predeterminado que tendrá ese atributo.
 Para cada atributo de un elemento
utilizaremos un ATTLIST distinto.
Ejemplo:
<película título=“El Padrino”
duración=“180”/>
La línea correspondiente a ese elemento en
el DTD sería:
<!ELEMENT película EMPTY>
(ya que estamos hablando de un
elemento vacío).
 Los atributos se definirían así:
<!ATTLIST película título CDATA “”>
<!ATTLIST película título CDATA “”>
Y el documento completo sería…
<?xml version=“1.0”?>
<!DOCTYPE película [
<!ELEMENT película EMPTY>
<!ATTLIST película título CDATA “”>
<!ATTLIST película duración CDATA “”>
]>
<película título=“El Padrino” duración=“180”/>
 Los valores predeterminados que puede tener
un atributo son:
 #IMPLIED indica que es opcional aplicar un valor a
un atributo, es decir, se trata de un atributo opcional y
no indicamos ningún valor predeterminado.
 #REQUIRED indica que es obligatorio asignar un
valor al atributo. Es decir: el atributo debe
obligatoriamente aparecer.
 #FIXED valor indica que el valor del atributo debe ser
el indicado y no es posible cambiarlo.
 valor indica que el valor asignado es el
predeterminado.
 Ejemplos:
 <!ATTLIST imagen ancho CDATA
#REQUIRED>
 <!ATTLIST alumno nota CDATA “5”>
 <!ATTLIST persona edad CDATA
#IMPLIED
 También podemos indicar una lista de posibles
valores para el atributo.
Ejemplo: queremos incluir un atributo con una
calificación para cada película, del 1 al 5, con
valor predeterminado 3. Lo haríamos de la
siguiente forma:
<!ATTLIST película nota (1 | 2 | 3 | 4 | 5) “3”>
 Por lo que estas definiciones serían válidas:
<película título=“El Padrino” nota=“5”/>
<película título=“El Padrino”/>
 Los tipos de datos principales que pueden ir
asociados a un atributo son:
 CDATA  un valor cualquiera
 (valor1 | valor2 | … )  un valor dentro del rango
enumerado.
 ID  un valor único.
 IDREF  un valor único previamente indicado.
 IDREFS  varios IDREF.
 NMTOKEN  un nombre con sólo caracteres XML
válidos (letras, números, puntos, guiones, subrayados
y los dos puntos)
 NMTOKENS  varios NMTOKEN
Caracteres especiales
& &amp;
< &it;
> &gt;
` &apos;
“ &quot;
 Se declaran de la siguiente forma:
<!ENTITY nombre valor_de_sustitución>
 Ejemplo: supongamos que queremos almacenar un
precio en euros:
<precio>19,95 &#x20ac;</precio>
(&#x20ac es el código UNICODE del símbolo del euro).
 Simplificaremos la tarea de indicar el euro usando la
siguiente nomenclatura:
<!ENTITY euro “&#x20ac;”>
 A partir de este momento podremos incluir el símbolo
del euro así:
<precio>19,95 &euro</precio>
 El documento completo sería
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE precio [
<!ELEMENT precio (#PCDATA)>
<!ENTITY euro "&#x20ac;">
]>
<precio>19,95 &euro;</precio>
 Supongamos que queremos incluir para cada
película una frase de recomendación: “Obra
maestra”, “Muy mala”, etc.
 Nos creamos las entidades:
<!ENTITY om “Obra maestra”>
<!ENTITY mm “Muy mala”>
 Pudiéndolas utilizar de la siguiente manera:
<película>
<título>El Padrino</título>
<calificación>&om;</calificación>
</película>
 Supongamos que tenemos el siguiente documento xml:
<?xml version=“1.0” encoding=“UTF-8”?>
<notas>
<nota>El propietario no se hace responsable de las
opiniones vertidas por los autores.</nota>
</notas>
 En el ejemplo anterior podemos incluir la línea:
<!ENTITY notas SYSTEM “notas.xml”>
 De manera que siempre que usemos la entidad &notas;
se sustituirá su valor por el contenido del archivo.
(SYSTEM indica que el archivo “notas.xml” está en el
mismo directorio que el archivo actual).
Ejemplo de XML y su DTD
<?xml version="1.0"?>
<libro>
<titulo> Cien años de soledad </titulo>
<disponible tiempo="24" unidad="horas"/>
<autor> Gabriel García Márquez </autor>
<formato> Rústica </formato>
<publicacion>1967 </publicacion>
<precio cantidad="9.99" moneda="euro"/>
<descuento cantidad="5"/>
<enlacelibro href="/exec/ISBN/84-473-0619-4"/>
</libro>
DTD:
 <!ELEMENT autor ( #PCDATA ) >
<!ELEMENT descuento EMPTY >
<!ATTLIST descuento cantidad CDATA #REQUIRED
>
<!ELEMENT disponible EMPTY >
<!ATTLIST disponible tiempo CDATA #REQUIRED >
<!ATTLIST disponible unidad CDATA #REQUIRED >
<!ELEMENT enlacelibro EMPTY >
<!ATTLIST enlacelibro href CDATA #REQUIRED >
<!ELEMENT formato ( #PCDATA ) >
<!ELEMENT libro ( titulo | disponible | autor | formato
| publicacion | precio | descuento | enlacelibro )* >
<!ELEMENT precio EMPTY >
<!ATTLIST precio cantidad CDATA #REQUIRED >
<!ATTLIST precio moneda CDATA #REQUIRED >
<!ELEMENT publicacion ( #PCDATA ) >
<!ELEMENT titulo ( #PCDATA ) >
Ejercicio:
 Construir un esquema XML para la
siguiente DTD:
<!ELEMENT Libro (Titulo, Contenido, Copyright)>
<!ATTLIST Libro xmlns CDATA #REQUIRED>
<!ELEMENT Titulo (#PCDATA)>
<!ELEMENT Contenido ((Capitulo+, Separacion?)+)>
<!ELEMENT Capitulo (Tema, Seccion+)>
<!ATTLIST Capitulo materia (XML|Java) "Java">
<!ELEMENT Tema (#PCDATA)>
<!ELEMENT Seccion (#PCDATA)>
<!ATTLIST Seccion
apartados CDATA #REQUIRED
dificil (si|no) "no">
<!ELEMENT Separacion EMPTY>
<!ELEMENT Copyright (#PCDATA)>
Xml dtd

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Javascript dom
Javascript domJavascript dom
Javascript dom
 
XML Schemas
XML SchemasXML Schemas
XML Schemas
 
Dom JavaScript
Dom JavaScriptDom JavaScript
Dom JavaScript
 
Fundamentals of database system - Relational data model and relational datab...
Fundamentals of database system  - Relational data model and relational datab...Fundamentals of database system  - Relational data model and relational datab...
Fundamentals of database system - Relational data model and relational datab...
 
XSLT presentation
XSLT presentationXSLT presentation
XSLT presentation
 
Tema 1 base de datos
Tema 1   base de datosTema 1   base de datos
Tema 1 base de datos
 
Herramientas De Modelado
Herramientas De ModeladoHerramientas De Modelado
Herramientas De Modelado
 
Introducción a XML Schema
Introducción a XML SchemaIntroducción a XML Schema
Introducción a XML Schema
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Modelo E/R
Modelo E/RModelo E/R
Modelo E/R
 
Patrones de diseño y frameworks
Patrones de diseño y frameworksPatrones de diseño y frameworks
Patrones de diseño y frameworks
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 
Información básica Java
Información básica JavaInformación básica Java
Información básica Java
 
Xml 215-presentation
Xml 215-presentationXml 215-presentation
Xml 215-presentation
 
XML y DTDs
XML y DTDsXML y DTDs
XML y DTDs
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
Modelos de objetos semanticos
Modelos de objetos semanticosModelos de objetos semanticos
Modelos de objetos semanticos
 

Destacado

Tutorial de DTD en PDF
Tutorial de DTD en PDFTutorial de DTD en PDF
Tutorial de DTD en PDFAbrirllave
 
2 dtd - validating xml documents
2   dtd - validating xml documents2   dtd - validating xml documents
2 dtd - validating xml documentsgauravashq
 
Procesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISProcesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISSpanishPASSVC
 
LM-UT5: DTD, XML Schema
LM-UT5: DTD, XML Schema LM-UT5: DTD, XML Schema
LM-UT5: DTD, XML Schema David Martin
 
XML's validation - DTD
XML's validation - DTDXML's validation - DTD
XML's validation - DTDvidede_group
 
Diferencias entre XML y HTML
Diferencias entre XML y HTMLDiferencias entre XML y HTML
Diferencias entre XML y HTMLErik Farias
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 
Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Abrirllave
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLSorey García
 
Social media: tools and ‘mocial’ by Paul Wilkinson #sm4b
Social media:tools and ‘mocial’ by Paul Wilkinson #sm4bSocial media:tools and ‘mocial’ by Paul Wilkinson #sm4b
Social media: tools and ‘mocial’ by Paul Wilkinson #sm4bWorkplace Trends
 
Educacion fisica power point blog
Educacion fisica power point blogEducacion fisica power point blog
Educacion fisica power point blogNatalia0912
 

Destacado (20)

Tutorial de DTD en PDF
Tutorial de DTD en PDFTutorial de DTD en PDF
Tutorial de DTD en PDF
 
2 dtd - validating xml documents
2   dtd - validating xml documents2   dtd - validating xml documents
2 dtd - validating xml documents
 
Procesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISProcesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSIS
 
LM-UT5: DTD, XML Schema
LM-UT5: DTD, XML Schema LM-UT5: DTD, XML Schema
LM-UT5: DTD, XML Schema
 
Ria
RiaRia
Ria
 
XML's validation - DTD
XML's validation - DTDXML's validation - DTD
XML's validation - DTD
 
Diferencias entre XML y HTML
Diferencias entre XML y HTMLDiferencias entre XML y HTML
Diferencias entre XML y HTML
 
Dtd
DtdDtd
Dtd
 
XML and DTD
XML and DTDXML and DTD
XML and DTD
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAML
 
Chuleta de DTD
Chuleta de DTDChuleta de DTD
Chuleta de DTD
 
Semana santa 2014-web
Semana santa 2014-webSemana santa 2014-web
Semana santa 2014-web
 
Curso linux clase_1_2012
Curso linux clase_1_2012Curso linux clase_1_2012
Curso linux clase_1_2012
 
Social media: tools and ‘mocial’ by Paul Wilkinson #sm4b
Social media:tools and ‘mocial’ by Paul Wilkinson #sm4bSocial media:tools and ‘mocial’ by Paul Wilkinson #sm4b
Social media: tools and ‘mocial’ by Paul Wilkinson #sm4b
 
Moringa oil properties
Moringa oil propertiesMoringa oil properties
Moringa oil properties
 
Educacion fisica power point blog
Educacion fisica power point blogEducacion fisica power point blog
Educacion fisica power point blog
 
La saga de medianoche
La saga de medianocheLa saga de medianoche
La saga de medianoche
 
B1 vitamini
B1 vitaminiB1 vitamini
B1 vitamini
 

Similar a Xml dtd (20)

Unidad 1 lenguajes de marcas
Unidad 1   lenguajes de marcasUnidad 1   lenguajes de marcas
Unidad 1 lenguajes de marcas
 
Xml
XmlXml
Xml
 
Archivo xml
Archivo xmlArchivo xml
Archivo xml
 
Archivo xml
Archivo xmlArchivo xml
Archivo xml
 
Xml
XmlXml
Xml
 
infografíaxml
infografíaxmlinfografíaxml
infografíaxml
 
XML de A a Z
XML de A a ZXML de A a Z
XML de A a Z
 
Xml
XmlXml
Xml
 
Qué es xml
Qué es xmlQué es xml
Qué es xml
 
Manual XML
Manual XMLManual XML
Manual XML
 
Prg java l
Prg java lPrg java l
Prg java l
 
Presentacion xml
Presentacion xmlPresentacion xml
Presentacion xml
 
Colima2000
Colima2000Colima2000
Colima2000
 
Xml
XmlXml
Xml
 
XML en .NET
XML en .NETXML en .NET
XML en .NET
 
Tutorial XML
Tutorial XMLTutorial XML
Tutorial XML
 
Xml
XmlXml
Xml
 
Xml
XmlXml
Xml
 
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
 
Xml
XmlXml
Xml
 

Más de Maria Mar

Programa Fiestas El palmar 2013
Programa Fiestas El palmar 2013Programa Fiestas El palmar 2013
Programa Fiestas El palmar 2013Maria Mar
 
Ejecucion de una_instruccion
Ejecucion de una_instruccionEjecucion de una_instruccion
Ejecucion de una_instruccionMaria Mar
 
Tras seis-matrimonios
Tras seis-matrimoniosTras seis-matrimonios
Tras seis-matrimoniosMaria Mar
 
Tetinas y condones
Tetinas y condonesTetinas y condones
Tetinas y condonesMaria Mar
 
10 disfracespps
10 disfracespps10 disfracespps
10 disfracesppsMaria Mar
 
Buenas modales
Buenas modalesBuenas modales
Buenas modalesMaria Mar
 
Padre alberto
Padre albertoPadre alberto
Padre albertoMaria Mar
 
Caminar sobre el agua
Caminar sobre el aguaCaminar sobre el agua
Caminar sobre el aguaMaria Mar
 
59782 orden curr admon sist inf en red
59782 orden curr admon sist inf en red59782 orden curr admon sist inf en red
59782 orden curr admon sist inf en redMaria Mar
 
Cambio de-opinion
Cambio de-opinionCambio de-opinion
Cambio de-opinionMaria Mar
 
Cambio de-opinion
Cambio de-opinionCambio de-opinion
Cambio de-opinionMaria Mar
 
Un Gay Ante San Pedro
Un Gay Ante San PedroUn Gay Ante San Pedro
Un Gay Ante San PedroMaria Mar
 
Elvendedorde El Corte Ingls
Elvendedorde El Corte InglsElvendedorde El Corte Ingls
Elvendedorde El Corte InglsMaria Mar
 
El Funeral Diapositivas
El Funeral DiapositivasEl Funeral Diapositivas
El Funeral DiapositivasMaria Mar
 
El Burro Andaluz Lul
El Burro Andaluz LulEl Burro Andaluz Lul
El Burro Andaluz LulMaria Mar
 

Más de Maria Mar (20)

Programa Fiestas El palmar 2013
Programa Fiestas El palmar 2013Programa Fiestas El palmar 2013
Programa Fiestas El palmar 2013
 
Ejecucion de una_instruccion
Ejecucion de una_instruccionEjecucion de una_instruccion
Ejecucion de una_instruccion
 
Tras seis-matrimonios
Tras seis-matrimoniosTras seis-matrimonios
Tras seis-matrimonios
 
Tetinas y condones
Tetinas y condonesTetinas y condones
Tetinas y condones
 
10 disfracespps
10 disfracespps10 disfracespps
10 disfracespps
 
Buenas modales
Buenas modalesBuenas modales
Buenas modales
 
Padre alberto
Padre albertoPadre alberto
Padre alberto
 
Caminar sobre el agua
Caminar sobre el aguaCaminar sobre el agua
Caminar sobre el agua
 
59782 orden curr admon sist inf en red
59782 orden curr admon sist inf en red59782 orden curr admon sist inf en red
59782 orden curr admon sist inf en red
 
Cambio de-opinion
Cambio de-opinionCambio de-opinion
Cambio de-opinion
 
Cambio de-opinion
Cambio de-opinionCambio de-opinion
Cambio de-opinion
 
Un Gay Ante San Pedro
Un Gay Ante San PedroUn Gay Ante San Pedro
Un Gay Ante San Pedro
 
Sabiasque1
Sabiasque1Sabiasque1
Sabiasque1
 
La Histor
La HistorLa Histor
La Histor
 
La Histor
La HistorLa Histor
La Histor
 
Elvendedorde El Corte Ingls
Elvendedorde El Corte InglsElvendedorde El Corte Ingls
Elvendedorde El Corte Ingls
 
La Histor
La HistorLa Histor
La Histor
 
El Funeral Diapositivas
El Funeral DiapositivasEl Funeral Diapositivas
El Funeral Diapositivas
 
Jejejeje
JejejejeJejejeje
Jejejeje
 
El Burro Andaluz Lul
El Burro Andaluz LulEl Burro Andaluz Lul
El Burro Andaluz Lul
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (10)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

Xml dtd

  • 2. Historia del XML  Desarrollada a partir de 1996, como un subconjunto de SGML.  Adoptado por W3C.  W3C  Constituido en 1994 con el objetivo de desarrollar protocolos comunes para la evolución de Internet.
  • 3. ¿Qué es XML?  XML es un lenguaje de marcas.  Sus partes se distinguen entre sí por medio de Etiquetas.  Es extensible: podemos crear nuestras propias etiquetas.  Sigue una sintaxis estricta, es poco tolerante a fallos.  Es necesario el anidamiento.
  • 4.  Hay dos tipos de etiquetas: 1. Etiqueta de apertura. 2. Etiqueta de cierre. Ejemplo: <?xml versión=”1.0”?> <coche> Citroen <matricula>6545BHG</matricula> </coche>
  • 5. HTML contra XML HTML XML Se centra en el despliegue y es menos estructurado Se centra en los datos y es muy estructurado. Las etiquetas y atributos son fijos. Las etiquetas y atributos son extensibles. Es posible olvidar cerrar alguna etiqueta Se fuerza a tener una estructura consistente.
  • 6. ¿Para qué sirve XML?  Ayuda en la integración de datos. Nos ayuda a estandarizar el intercambio de información a través de ficheros.  Un documento XML es un documento de texto plano en el que se describe la estructura de la información que él mismo contiene.  XML no sólo contiene información sino también las estructuras del lenguaje necesarias para transmitir esa información, permitiendo crear nuestras propias etiquetas adaptadas a nuestras necesidades.  XML abre el camino para que los propios ordenadores interpreten la información de las páginas Web.  XML no contiene por sí sólo información sobre el formato en que se deben representar los datos. Son necesarias hojas de estilo CCS
  • 8. Ventajas de XML  Formato ideal para transacciones B2B.  Permite poderosas técnicas de extracción y búsqueda de información.  Las estrictas reglas para la composición de un documento XML, permite su fácil análisis sintáctico.  XML es sensitivo a mayúsculas y minúsculas.  Fácil de procesar/entender por software o por humanos.  Pensado para ser utilizado en cualquier lenguaje o alfabeto.  Separa radicalmente la información o contenido, de su presentación o formato.
  • 9. Objetivos del XML:  Directo a la red: sus caracteres son fácilmente transferibles a través de internet.  Compatible con todas las aplicaciones.  Compatible con SGML.  Fácil digestión: sencillez.  Sin extras: no tienes características opcionales.  Alto y claro: es legible tanto para máquinas como para humanos.  Es fácil y rápido de diseñar.  Formalidad.  Lápiz y papel: se puede hacer desde un editor de textos.  Lo importante es comprenderse.
  • 10. XML bien formados  Una herramienta que se utiliza es el XMLSpy. www.altova.com  En esta herramienta podemos crear nuestro XML.  Pulsando el botón “check well-formedness” podemos comprobar si está bien formado o no.  Estará bien formada cuando: 1. Su sintaxis es válida. 2. Utiliza caracteres autorizados 3. Comienza y finaliza todas las marcas. 4. Si satisface un conjunto de reglas. 5. Es valido si está bien formado y satisface las reglas que le impone su DTD. Para definir que debe ir en el fichero, en qué orden o qué es obligatorio debemos de crear el DTD.
  • 11. Formar XML  Un documento se basa en una serie de entidades:  Cada entidad contiene uno o más elementos.  Cada elemento está formado por 0 o más atributos.  Podemos poner comentarios dentro de un documento con los símbolos  <!...y…>  Los comentarios pueden estar en cualquier parte del documento, pero sin son muchos pueden consumir ancho de banda.
  • 12.  Un archivo consta de:  Prólogo  Cuerpo  Epílogo
  • 13. Ejemplo: <?xml version="1.0" encoding="UTF-8" standalone=“no"?> <!...Esto es un comentario…> <INFORMACION> <INFO> <TITULO> WINDOWS98? SOLO SI ME OBLIGAN! </TITULO> <AUTOR> Fernando Damián Martines </AUTOR> <EMAIL> Cami@yahoo.es </EMAIL> <VERSION>1.0</VERSION> </INFO> </INFORMACION>
  • 14. DTD (Document Type Definition)  El dtd indica que contenido debe tener el documento XML y en qué orden.  Actúa de plantilla.  No guarda información sólo la estructura.  El dtd puede ser:  Externo.  Interno  Mixto.
  • 15. Clases de DTD  Veremos estas dos clases: 1. DTD interno o incrustado. 2. DTD externo.
  • 16. DTD INCRUSTADO  Un dtd empieza por : <?xml versión=”1.0” standalone = “yes”?> <!DOCTYPE nombre_etiqueta [ … … … ]> El atributo “standalone” del prólogo inicializado al valor “yes” indica que el documento es autosuficiente y no necesita de otros elementos externos.
  • 17. DTD EXTERNO:  Un dtd Externo empieza por :  <?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE pelicula SYSTEM “c:documentosfilmoteca.dtd”>  (si el DTD está en esa ruta)  <!DOCTYPE pelicula SYSTEM “http://www.mipagina.es/filmoteca.dtd”>  (si el DTD está en esa página web)
  • 18. A partir de ahí comienza la definición del contenido de los DTD  El primer <!ELEMENT que aparece se refiere a la etiqueta raíz. <!ELEMENT identificador (tipo_de_contenido)> Ejemplo: <!ELEMENT nombre_vía (#PCDATA)>
  • 19. Los tipos de contenidos que podemos indicar son:  #PCDATA: indica un contenido de tipo “dato analizable” (por ejemplo, un número o una palabra).  Otro elemento o elementos (si son varios aparecen separados por comas).  EMPTY: el elemento no tiene contenido (se llama elemento vacío).  ANY: el elemento puede tener cualquier contenido: No es muy conveniente utilizarlo, por ser demasiado genérico.  MIXED: el elemento puede tener tipos de contenido diversos, pero al contrario que con ANY, esos contenidos deben estar debidamente especificados.
  • 20. Ejemplos:  <!ELEMENT sueldo (#PCDATA)>  <!ELEMENT dirección (nombre_vía, número, cp, localidad)>  <!ELEMENT salto-de-página EMPTY>  <!ELEMENT batiburrillo ANY>  <!ELEMENT identificador (nif | nie)> (significa que el elemento “identificador” puede estar compuesto O por un “nif” O por un “nie”)
  • 21.  En la especificación de contenido se puede incorporar un símbolo de frecuencia: Ninguno = el elemento aparece sólo una vez. + = el elemento aparece 1 ó más veces. * = el elemento es opcional y aparece 0 ó más veces. ? = el elemento es opcional y aparece 0 ó 1 vez.
  • 22.  Ejemplos: <!ELEMENT libro (prólogo?, capítulo+)> <!ELEMENT resolución (descripción, alegaciones*)> <!ELEMENT aviso (titulo?, (parrafo+, grafico)*)>
  • 23. Más sobre XML: Atributos  La etiqueta denota el nombre del elemento, y el atributo, sus propiedades.  Los atributos sólo pueden indicarse en las etiquetas de apertura, no en las de cierre.  Un atributo está formado por el nombre del mismo y el valor que toma, separados por el signo de igualdad =. El valor del atributo debe estar entre comillas, simples o dobles.  Un atributo debe tomar valor siempre.
  • 24.  EJEMPLO: <?xml version=“1.0”?> <películas> <película> <título>El Padrino</título> <actores> <actor papel=“protagonista”>Al Pacino</actor> <actor papel=“secundario”>Diane Keaton</actor> </actores> </película> </películas>
  • 25.  OTRO EJEMPLO: <?xml version=“1.0”?> <trabajadores> <trabajador situación=“fijo”>Pepe Gómez</trabajador> <trabajador situación=“eventual”>Antonio Marín</trabajador> </trabajadores>
  • 26. Definición de atributos en un DTD  <!ATTLIST elemento atributo tipo vpredeterminado> elemento es el nombre del elemento cuyos atributos queremos definir. atributo es el nombre del atributo. tipo es el tipo de valores que podrán tener el atributo. vpredeterminado (opcional) es el valor predeterminado que tendrá ese atributo.
  • 27.  Para cada atributo de un elemento utilizaremos un ATTLIST distinto. Ejemplo: <película título=“El Padrino” duración=“180”/> La línea correspondiente a ese elemento en el DTD sería: <!ELEMENT película EMPTY> (ya que estamos hablando de un elemento vacío).
  • 28.  Los atributos se definirían así: <!ATTLIST película título CDATA “”> <!ATTLIST película título CDATA “”> Y el documento completo sería… <?xml version=“1.0”?> <!DOCTYPE película [ <!ELEMENT película EMPTY> <!ATTLIST película título CDATA “”> <!ATTLIST película duración CDATA “”> ]> <película título=“El Padrino” duración=“180”/>
  • 29.  Los valores predeterminados que puede tener un atributo son:  #IMPLIED indica que es opcional aplicar un valor a un atributo, es decir, se trata de un atributo opcional y no indicamos ningún valor predeterminado.  #REQUIRED indica que es obligatorio asignar un valor al atributo. Es decir: el atributo debe obligatoriamente aparecer.  #FIXED valor indica que el valor del atributo debe ser el indicado y no es posible cambiarlo.  valor indica que el valor asignado es el predeterminado.
  • 30.  Ejemplos:  <!ATTLIST imagen ancho CDATA #REQUIRED>  <!ATTLIST alumno nota CDATA “5”>  <!ATTLIST persona edad CDATA #IMPLIED
  • 31.  También podemos indicar una lista de posibles valores para el atributo. Ejemplo: queremos incluir un atributo con una calificación para cada película, del 1 al 5, con valor predeterminado 3. Lo haríamos de la siguiente forma: <!ATTLIST película nota (1 | 2 | 3 | 4 | 5) “3”>  Por lo que estas definiciones serían válidas: <película título=“El Padrino” nota=“5”/> <película título=“El Padrino”/>
  • 32.  Los tipos de datos principales que pueden ir asociados a un atributo son:  CDATA  un valor cualquiera  (valor1 | valor2 | … )  un valor dentro del rango enumerado.  ID  un valor único.  IDREF  un valor único previamente indicado.  IDREFS  varios IDREF.  NMTOKEN  un nombre con sólo caracteres XML válidos (letras, números, puntos, guiones, subrayados y los dos puntos)  NMTOKENS  varios NMTOKEN
  • 33. Caracteres especiales & &amp; < &it; > &gt; ` &apos; “ &quot;
  • 34.  Se declaran de la siguiente forma: <!ENTITY nombre valor_de_sustitución>  Ejemplo: supongamos que queremos almacenar un precio en euros: <precio>19,95 &#x20ac;</precio> (&#x20ac es el código UNICODE del símbolo del euro).  Simplificaremos la tarea de indicar el euro usando la siguiente nomenclatura: <!ENTITY euro “&#x20ac;”>  A partir de este momento podremos incluir el símbolo del euro así: <precio>19,95 &euro</precio>
  • 35.  El documento completo sería <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE precio [ <!ELEMENT precio (#PCDATA)> <!ENTITY euro "&#x20ac;"> ]> <precio>19,95 &euro;</precio>
  • 36.  Supongamos que queremos incluir para cada película una frase de recomendación: “Obra maestra”, “Muy mala”, etc.  Nos creamos las entidades: <!ENTITY om “Obra maestra”> <!ENTITY mm “Muy mala”>  Pudiéndolas utilizar de la siguiente manera: <película> <título>El Padrino</título> <calificación>&om;</calificación> </película>
  • 37.  Supongamos que tenemos el siguiente documento xml: <?xml version=“1.0” encoding=“UTF-8”?> <notas> <nota>El propietario no se hace responsable de las opiniones vertidas por los autores.</nota> </notas>  En el ejemplo anterior podemos incluir la línea: <!ENTITY notas SYSTEM “notas.xml”>  De manera que siempre que usemos la entidad &notas; se sustituirá su valor por el contenido del archivo. (SYSTEM indica que el archivo “notas.xml” está en el mismo directorio que el archivo actual).
  • 38. Ejemplo de XML y su DTD <?xml version="1.0"?> <libro> <titulo> Cien años de soledad </titulo> <disponible tiempo="24" unidad="horas"/> <autor> Gabriel García Márquez </autor> <formato> Rústica </formato> <publicacion>1967 </publicacion> <precio cantidad="9.99" moneda="euro"/> <descuento cantidad="5"/> <enlacelibro href="/exec/ISBN/84-473-0619-4"/> </libro>
  • 39. DTD:  <!ELEMENT autor ( #PCDATA ) > <!ELEMENT descuento EMPTY > <!ATTLIST descuento cantidad CDATA #REQUIRED > <!ELEMENT disponible EMPTY > <!ATTLIST disponible tiempo CDATA #REQUIRED > <!ATTLIST disponible unidad CDATA #REQUIRED > <!ELEMENT enlacelibro EMPTY > <!ATTLIST enlacelibro href CDATA #REQUIRED > <!ELEMENT formato ( #PCDATA ) > <!ELEMENT libro ( titulo | disponible | autor | formato | publicacion | precio | descuento | enlacelibro )* > <!ELEMENT precio EMPTY > <!ATTLIST precio cantidad CDATA #REQUIRED > <!ATTLIST precio moneda CDATA #REQUIRED > <!ELEMENT publicacion ( #PCDATA ) > <!ELEMENT titulo ( #PCDATA ) >
  • 40. Ejercicio:  Construir un esquema XML para la siguiente DTD: <!ELEMENT Libro (Titulo, Contenido, Copyright)> <!ATTLIST Libro xmlns CDATA #REQUIRED> <!ELEMENT Titulo (#PCDATA)> <!ELEMENT Contenido ((Capitulo+, Separacion?)+)> <!ELEMENT Capitulo (Tema, Seccion+)> <!ATTLIST Capitulo materia (XML|Java) "Java"> <!ELEMENT Tema (#PCDATA)> <!ELEMENT Seccion (#PCDATA)> <!ATTLIST Seccion apartados CDATA #REQUIRED dificil (si|no) "no"> <!ELEMENT Separacion EMPTY> <!ELEMENT Copyright (#PCDATA)>