Anda di halaman 1dari 8

Fundamentos Web

Introducción a XML

Contenido

¿Qué es XML? ...........................................................................................................2


HTML Vs. XML ...........................................................................................................2
Sintaxis XML ..............................................................................................................3
Contenido de un Documento XML .............................................................................4
Documentos XML Bien Formados..............................................................................4
Documentos XML válidos...........................................................................................5
DTD (Document Type Definitions) ................................................................................................. 5
DTD Externo................................................................................................................................... 5
XML con CSS.............................................................................................................6
Hojas de Estilo XSL....................................................................................................7
Introducción a XML

¿Qué es XML?

XML (Extensible Markup Language) es un meta-lenguaje de marcas, es decir, permite que el usuario
diseñe sus propias marcas (tags) y les dé el significado que se le antoje, con tal de que siga un
modelo coherente.

Script 1

<Catalogo>
<Articulo>
<Nombre>Monitor</Nombre>
<Precio>120.00</Precio>
</Articulo>
<Articulo>
<Nombre>Teclado</Nombre>
<Precio>24.00</Precio>
</Articulo>
<Articulo>
<Nombre>Mouse</Nombre>
<Precio>18.00</Precio>
</Articulo>
</Catalogo>

HTML Vs. XML

HTML describe como mostrar la data.

Script 2

<BODY>

<TABLE BORDER=1>
<TR>
<TD>Nombre</TD>
<TD>Juan</TD>
</TR>
<TR>
<TD>Sueldo</TD>
<TD>3500</TD>
</TR>
<TR>
<TD>Region</TD>
<TD>Lima</TD>
</TR>
</TABLE>

</BODY>

Eric Gustavo Coronel Castillo (gcoronel@viabcp.com) Pág. 2 de 8


Introducción a XML

XML define el significado de la data.

Script 3

<empleado>
<nombre>Juan</nombre>
<sueldo>3500</sueldo>
<region>Lima</region>
</empleado>

Sintaxis XML

ƒ XML usa etiquetas para definir el contexto de los datos


ƒ La unidad básica de información es el elemento

ƒ Los elementos pueden ser anidados

Eric Gustavo Coronel Castillo (gcoronel@viabcp.com) Pág. 3 de 8


Introducción a XML

Contenido de un Documento XML

Instrucción de Procesamiento <?xml version="1.0"?>

Comentario <!–- Esto es un comentario -->

Elemento raíz <empleado>


Elemento hijo <nombre>Juan Perez</nombre>
Elemento vacío <cargo />
<sueldo moneda="Soles">
Elemento con atributo 3500
</sueldo>
Fin de elemento raíz </empleado>

Documentos XML Bien Formados

Requerimientos:
ƒ Un único elemento raíz
ƒ Las etiquetas de apertura y cierre deben coincidir
ƒ Los caracteres deben ser consistentes (case sensitive)
ƒ Elementos correctamente anidados
ƒ Valores de atributos entre comillas
ƒ No debe haber atributos repetidos en un elemento

Eric Gustavo Coronel Castillo (gcoronel@viabcp.com) Pág. 4 de 8


Introducción a XML

Documentos XML válidos

Un documento XML válido es aquel que está conforme a un esquema DTD.

DTD (Document Type Definitions)


Un DTD define los elementos que pueden aparecer en un documento XML, el orden en el cual pueden
aparecer, cómo pueden estar anidados y otros detalles de la estructura del documento XML. Los DTD
son parte de la especificación original de XML.

Script 4

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


<!DOCTYPE Mensaje
[
<!ELEMENT Mensaje (Frase,Arenga)>
<!ELEMENT Frase (#PCDATA)>
<!ELEMENT Arenga (#PCDATA)>
]
>
<!-- este es un comentario -->
<Mensaje>
<Frase>Somos Cienciano</Frase>
<Arenga>Cienciano es el Papa</Arenga>
</Mensaje>

DTD Externo

Script 5

<!-- Ejm05.dtd -->


<!ELEMENT direccion (nombre, calle, ciudad, estado, codigo-postal)>
<!ELEMENT nombre (titulo?, nombre, apellidos)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos (#PCDATA)>
<!ELEMENT calle (#PCDATA)>
<!ELEMENT ciudad (#PCDATA)>
<!ELEMENT estado (#PCDATA)>
<!ELEMENT codigo-postal (#PCDATA)>

Eric Gustavo Coronel Castillo (gcoronel@viabcp.com) Pág. 5 de 8


Introducción a XML

Script 6

<!DOCTYPE Direccion SYSTEM "Ejm05.dtd">


<direccion>
<nombre>
<titulo>Mrs.</titulo>
<nombre>Mary</nombre>
<apellidos>McGoon</apellidos>
</nombre>
<calle>1401 Main Street</calle>
<ciudad>Anytown</ciudad>
<estado>NC</estado>
<codigo-postal>34829</codigo-postal>
</direccion>

XML con CSS

Script 7

empleado {display:block; margin:10px}


nombre {display:inline; font-family:Comic Sans MS; color:red}
sueldo {display:inline; font-family:Arial; font-size:24pt}

Script 8

<?xml-stylesheet type="text/css" href="Ejm07.CSS"?>


<empleados>
<empleado>
<nombre>Melina</nombre>
<area>Contabilidad</area>
<sueldo>4500</sueldo>
</empleado>
<empleado>
<nombre>Viviana</nombre>
<area>Finanzas</area>
<sueldo>6800</sueldo>
</empleado>
<empleado>
<nombre>Pedro</nombre>
<area>Almacen</area>
<sueldo>4800</sueldo>
</empleado>
</empleados>

Eric Gustavo Coronel Castillo (gcoronel@viabcp.com) Pág. 6 de 8


Introducción a XML

Hojas de Estilo XSL

XSL, que son las siglas de XML Style Language, es el segundo lenguaje con el cualtrabajar en XML.
Este lenguaje no se limita a definir qué estilo aplicar a cada elemento del documento XML. Además se
pueden realizar pequeñas instrucciones típicas de los lenguajes de programación y la salida no tiene
porque ser un documento HTML, sino que además podría ser de otros tipos, cualquiera que podamos
necesitar como un documento escrito en WML (para WAP), un documento de texto plano u otro
documento XML.
Podemos resaltar:

• Definen reglas para transformar elementos/atributos XML a un formato distinto

• Son más poderosas y flexibles que las hojas de estilo en cascada

• Permiten
ƒ Agregar nuevos elementos/atributos
ƒ Ordenar elementos/atributos
ƒ Bucles, decisión condicional y scripts

Script 9

<!-- Ejm09.XML -->


<?xml version="1.0"?>
<employees>
<employee>
<name>Stuart Roberts</name>
<salary>23500</salary>
</employee>
<employee>
<name>Roger Freestone</name>
<salary>51000</salary>
</employee>
<employee>
<name>Sue Philips</name>
<salary>45000</salary>
</employee>
<employee>
<name>Chris Smith</name>
<salary>72000</salary>
</employee>
<employee>
<name>Chris Smith</name>
<salary>90000</salary>
</employee>
</employees>

Eric Gustavo Coronel Castillo (gcoronel@viabcp.com) Pág. 7 de 8


Introducción a XML

Script 10

<!-- Ejm10.XSL -->


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<HTML>
<HEAD>
<SCRIPT LANGUAGE="javascript">
</SCRIPT>
</HEAD>
<BODY>
<TABLE border="0" cellpadding="3" cellspacing="3">
<TR>
<TH style="background-color:beige">Name</TH>
<TH style="background-color:beige">Salary</TH>
</TR>
<xsl:for-each select="employees/employee" >
<xsl:sort select="name" order="descending"/>
<xsl:sort select="salary" order="ascending"/>
<TR VALIGN="top"
onmouseover="this.style.backgroundColor='lightcyan'"
onmouseout="this.style.backgroundColor='white'"
style="background-color:white;cursor:hand" onclick="alert('Alianza Lima')">
<TD>
<xsl:value-of select="name"/>
</TD>
<TD>
<xsl:value-of select="salary"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>

Ahora en el ejemplo Ejm09XML insertemos la siguiente línea:

<!-- Ejm09.XML -->


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="Ejm10.xsl"?>
<employees>
...

Eric Gustavo Coronel Castillo (gcoronel@viabcp.com) Pág. 8 de 8

Anda mungkin juga menyukai