Está en la página 1de 22

LENGUAJESDEMARCAS

D
DeessaarrrroollllooddeeA
ApplliiccaacciioonneessW
Weebb
JJoossLLuuiissCCoom
meessaaaa

11

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

RECONOCIMIENTO DE LAS CARACTERS


TICASDELENGUAJESDEMARCAS.
Caso prctico
Mara y Flix son los fundadores y propietarios de una asesora legal y empresarial, que tiene su sede en
Cantabria, con oficinas en los municipios ms importantes de la regin.
Mara, licenciada en Derecho, ejerca como abogada especializada en derecho laboral y representaba a
alguna empresa, adems de particulares en su propio despacho situado en Torrelavega. Tena una red
informtica cliente-servidor sobre un sistema operativo Windows y trabajaba con una base de datos de
documentos jurdicos.
Flix, diplomado en Ciencias Empresariales, haba creado una asesora empresarial, ubicada en Santander,
que bsicamente, se encargaba de la contabilidad de varias PYMES. Tambin tena una red clienteservidor, pero sta bajo un sistema Linux con software libre de contabilidad.
Ambos eran amigos y un da en que haban estado hablando de sus respectivos trabajos, decidieron que
sus ingresos podan aumentar sustancialmente si, adems de mantener sus respectivas carteras de
clientes, se unan y formaban una sociedad que ofreciese a las empresas asesora legal y empresarial de
forma conjunta.
Desde el principio, la idea de asociarse fue un xito. Al cabo de dos aos el volumen del negocio se haba
extendido y se hizo imprescindible el intercambio de comunicacin entre ambos.
Dado que trabajaban con sistemas informticos diferentes se plateaba el problema de cmo podan
compartir informacin sobre los clientes comunes manteniendo la infraestructura informtica con la que
trabaja cada uno.
Consultaron el problema a Juan, un tcnico en administracin de sistemas informticos en red, y ste les
dijo que no haba ningn problema de interconexin si los ficheros que manejaban se ajustaban a un
formato estndar conocido como XML. Segn lo que Juan les dijo, generar documentos con dicho estndar
apenas requiere conocimientos previos de informtica, por tanto era una solucin que pareca perfecta para
su problema.

1. Lenguajes de marcas.
Un"lenguajedemarcas"esunmododecodificarundocumentodonde,juntoconeltexto,seincorporan
etiquetas,marcasoanotacionesconinformacinadicionalrelativaalaestructuradeltextoosuformato
de presentacin. Permiten hacer explcita la estructura de un documento, su contenido semntico o
cualquierotrainformacinlingsticaoextralingsticaquesequierahacerpatente.
TodolenguajedemarcasestdefinidoenundocumentodenominadoDTD(DocumentTypeDefinition).En
lseestablecenlasmarcas,loselementosutilizadospordicholenguajeysuscorrespondientesetiquetasy
atributos,susintaxisynormasdeuso.

Ejemplo
Aspectodeundocumentorealizadoconunlenguajedemarcas:
<carta>
<fecha>22/11/2006</fecha>
<presentacion>Estimadocliente:</presentacion>
<contenido>blablablabla</contenido>
<firma>DonJoseGutirrezGonzlez</firma>
</carta>
Aunqueenlaprctica,enunmismodocumentopuedencombinarsevariostiposdiferentesdelenguajesde
marcaloslenguajesdemarcas,stossepuedenclasificarcomosigue:

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

Depresentacin:Defineelformatodeltexto.
De procedimientos: Orientado tambin a la presentacin pero, en este caso, el programa que
representaeldocumentodebeinterpretarelcdigoenelmismoordenenqueaparece.
Descriptivo o semntico: Describen las diferentes partes en las que se estructura el documento
perosinespecificarcmodebenrepresentarse.

Algunosejemplosdelenguajesdemarcadoagrupadosporsumbitodeutilizacinson:

Documentacinelectrnica
- RTF(RichTextFormat):FormatodeTextoEnriquecido,fuedesarrolladoporMicrosoften
1987. Permite el intercambio de documentos de texto ente distintos procesadores de
texto.
- TeX:Suobjetivoeslacreacindeecuacionesmatemticascomplejas.
- Wikitexto:Permitelacreacindepginaswikienservidorespreparadosparasoportareste
lenguaje.
- DocBook: Permite generar documentos separando la estructura lgica del documento de
suformato.Deestemodo,dichosdocumentos,puedenpublicarseendiferentesformatos
sinnecesidadderealizarmodificacioneseneldocumentooriginal.
Tecnologasdeinternet
- HTML,XHTML:(HypertextMarkupLanguage,eXtensibleHypertextMarkupLanguage):Su
objetivoeslacreacindepginasweb.
- RSS:Permiteladifusindecontenidosweb
Otroslenguajesespecializados
- MathML (Mathematical Markup Language): Su objetivo es expresar el formalismo
matemticodetalmodoquepuedaserentendidopordistintossistemasyaplicaciones.
- VoiceXML (Voice Extended Markup Language) tiene como objetivo el intercambio de
informacinentreunusuarioyunaaplicacinconcapacidaddereconocimientodehabla.
- MusicXML:Permiteelintercambiodepartiturasentredistintoseditoresdepartituras.

Autoevaluacin
Los lenguajes de marcas se utilizan para:
Dar formato a los documentos de texto.
Definir la estructura de los datos de un documento.
Permitir el intercambio de ficheros entre diferentes aplicaciones y plataformas.
Todas las anteriores.

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

2. Evolucin de los lenguajes de marcas.


En los aos 70 contina surgen unos lenguajes informticos, distintos de los lenguajes de programacin,
orientadosalagestindeinformacin.Coneldesarrollodeloseditoresyprocesadoresdetextosurgenlos
primeroslenguajesinformticosespecializadosen tareasdedescripcinyestructuracindeinformacin:
los lenguajes de marcas. Paralelamente, tambin, surgen otros lenguajes informticos orientados a la
representacin,almacenamientoyconsultaeficientedegrandescantidadesdedatos:lenguajesysistemas
debasesdedatos.
Loslenguajesdemarcassurgieron,inicialmente,comolenguajesformadosporelconjuntodecdigosde
formato que los procesadores de texto introducen en los documentos para dirigir el proceso de
presentacin (impresin) mediante una impresora. Como en el caso de los lenguajes de programacin,
inicialmente estos cdigos de formato estaban ligados a las caractersticas de una mquina, programa o
procesador de textos concreto y, en ellos, inicialmente no haba nada que permitiese al programador
(formateador de documentos en este caso) abstraerse de las caractersticas del procesador de textos y
expresardeformaindependienteastelaestructuraylalgicainternadeldocumento.

Ejemplo
CdigodemarcasanterioraGML.Lasetiquetassondeinvencinpropia.
Dadoelsiguientedocumento:
<times 14><color verde><centrado> Este texto es un ejemplo para mostrar la utilizacin
primitivadelasmarcas</centrado></color></times14>
<colorgranate><times10><cursiva>Pararealizaesteejemploseutilizanetiquetasdenuestra
invencin. </cursiva> Las partes importantes del texto pueden resaltarse usando la
<negrita>negrita</negrita>,oel<subrayar>subrayado</subrayar></times10></color>
Alimprimirloseobtendra:

Este texto es un ejemplo para mostrar la utilizacin primitiva de las marcas

Para realiza este ejemplo se utilizan etiquetas de nuestra invencin. Las partes importantes del texto

puedenresaltarseusandolanegrita,oelsubrayado

Posteriormente, se aadieron como medio de presentacin a la pantalla. Los cdigos de estilo de


visualizacinanterioresyanoaparecen,yseempleanotrosmediosparamarcados,distintosdelainclusin
a mano de cadenas formateadoras, ahora ese proceso se automatiza y basta pulsar una combinacin de
teclas,opulsarunbotn,paralograrlosresultadosrequeridos.Aunqueestoesslounaabstraccin,para
suusointernolasaplicacionessiguenutilizandomarcasparadelimitaraquellaspartesdeltextoquetienen
unformatoespecial.
Este marcado estaba exclusivamente orientado a la presentacin de la informacin, aunque pronto se
percataron de las posibilidades del marcado y le dieron nuevos usos que resolvan una gran variedad de
necesidades,aparecielformatogeneralizado.

2.1GML(GeneralizaedMarkupLanguage).
Unodelosproblemasqueseconocendesdehacedcadasenlainformticaeslafaltadeestandarizacin
enlosformatosdeinformacinusadosporlosdistintosprogramas.

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

Pararesolveresteproblema,enlosaossesentaIBMencargaCharlesF.Goldfablaconstruccindeun
sistemadeedicin,almacenamientoybsquedadedocumentoslegales.Trasanalizarelfuncionamientode
laempresallegaronalaconclusindequepararealizarunbuenprocesadoinformticodelosdocumentos
haba que establecer un formato estndar para todos los documentos que se manejaban en la empresa.
Conelloselograbagestionarcualquierdocumentoencualquierdepartamentoyconcualquieraplicacin,
sintenerencuentadndeniconqusegenereldocumento.Dichoformatotenaqueservlidoparalos
distintos tipos de documentos legales que utilizaba la empresa, por tanto, deba ser flexible para que se
pudieraajustaralasdistintassituaciones.
ElformatodedocumentosquesecrecomoresultadodeestetrabajofueGML,cuyoobjetivoeradescribir
losdocumentosdetalmodoqueelresultadofueseindependientedelaplataformaylaaplicacinutilizada.

2.2SGML(StandardGeneralizedMarkupLanguage).
ElformatoGMLevolucionhastaqueen1986diolugaralestndarISO8879quesedenominSGML.ste
era un lenguaje muy complejo y requera de unas herramientas de software caras. Por ello su uso ha
quedadorelegadoagrandesaplicacionesindustriales.

Ejemplo
DocumentoSGMLsencillo:
<email>
<remitente>
<persona>
<nombre>Pepito</nombre>
<apellido>Grillo</apellido>
</persona>
</remitente>
<destinatario>
<direccion>pinocho@hotmail.com</direccion>
</destinatario>
<asunto>quedamos?</asunto>
<mensaje> Hola, he visto que ponen esta noche la pelcula que queras ver. Te apetece
ir?</mensaje>
</email>

2.3HTML(HyperTextMarkupLanguage).
En1989/90TimBernersLeecreelWorldWideWebyseencontrconlanecesidaddeorganizar,enlazar
y compatibilizar gran cantidad de informacin procedente de diversos sistemas. Para resolverlo cre un
lenguaje de descripcin de documentos llamado HTML, que, en realidad, era una combinacin de dos
estndaresyaexistentes:

ASCII:Eselformatoquecualquierprocesadordetextossencillopuedereconoceryalmacenar.Por
tantoesunformatoquepermitelatrasferenciadedatosentrediferentesordenadores.

SGML:Lenguajequepermitedarestructuraaltexto,resaltandolosttulosoaplicandodiversos
formatosaltexto.

HTML es una versin simplificada de SGML, ya que slo se utilizaban las instrucciones absolutamente
imprescindibles. Era tan fcil de comprender que rpidamente tuvo gran aceptacin logrando lo que no

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

pudoSGML,HTMLseconvirtienunestndargeneralparalacreacindepginasweb.Adems,tantolas
herramientas de software como los navegadores que permiten visualizar pginas HTML son cada vez
mejores.
ApesardetodasestasventajasHTMLnoesunlenguajeperfecto,susprincipalesdesventajasson:

Nosoportatareasdeimpresinydiseo.
Ellenguajenoesflexible,yaquelasetiquetassonlimitadas.
Nopermitemostrarcontenidodinmico.
Laestructurayeldiseoestnmezcladoseneldocumento.

Ejemplo
DocumentoHTML
<html>
<head>
<title>EjemplodecdigoHTML</title>
</head>
<bodybgcolor="#ffffff">
<p></p>
<p>
<b>20deoctubrede2010</b>
</p>
<p><b> Bienvenido al modulo de Lenguajes de Marcas y Sistemas de Gestin de
Informacin</b></p>
<p>Enestecursoaprender&aacute;s,entreotrascosas:<br/>
<ul>
<li>LasventajasqueofreceXML</li>
<li>Lacreaci&oacute;ndedocumentosbienformados</li>
<li>Lacreaci&oacute;ndeDTD</li>
</ul>
</p>
</body>
</html>
Alpublicarloenunnavegador,porejemploenelFirefox,tendramos:

2.4XML(eXtensibleMarkupLanguage).
Para resolver estos problemas de HTML el W3C establece, en 1998, el estndar internacional XML, un
lenguaje de marcas puramente estructural que no incluye ninguna informacin relativa al diseo. Est

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

convirtindoseconrapidezenestndarparaelintercambiodedatosenlaWeb.AdiferenciadeHTMLlas
etiquetasindicanelsignificadodelosdatosenlugardelformatoconelquesevanavisualizarlosdatos.
XMLesunmetalenguajecaracterizadopor:

Permitirdefiniretiquetaspropias.
Permitirasignaratributosalasetiquetas.
Utilizarunesquemaparadefinirdeformaexactalasetiquetasylosatributos.
Laestructurayeldiseosonindependientes.

EnrealidadXMLesunconjuntodeestndaresrelacionadosentresyqueson:

XSL,eXtensibleStyleLanguage.PermitedefinirhojasdeestiloparalosdocumentosXMLeincluye
capacidadparalatransformacindedocumentos.
XML Linking Language, incluye Xpath, Xlink y Xpointer. Determinan aspectos sobre los enlaces
entredocumentosXML.
XMLNamespaces.ProveenuncontextoalqueseaplicanlasmarcasdeundocumentodeXMLy
quesirveparadiferenciarlasdeotrasconidnticonombrevlidasenotroscontextos.
XMLSchemas.PermitendefinirrestriccionesqueseaplicarnaundocumentoXML.Actualmente
losmsusadossonlasDTD.

EnrealidadXMLesunconjuntodeestndaresrelacionadosentresyqueson:

Ejercicio resuelto
DocumentoXML
<?xmlversion="1.0"encoding="iso88591"?>
<!DOCTYPEbiblioteca">
<biblioteca>
<ejemplartipo_ejem="libro"titulo="XMLpractico"editorial="EdicionesEni">
<tipo><libroisbn="9782746049581"edicion="1"paginas="347"></libro></tipo>
<autornombre="SebastienLecomte"></autor>
<autornombre="ThierryBoulanger"></autor>
<autornombre="ngelBelinchonCalleja"funcion="traductor"></autor>
<prestadolector="PepitoGrillo">
<fecha_presdia="13"mes="mar"ao="2009"></fecha_pres>
<fecha_devoldia="21"mes="jun"ao="2009"></fecha_devol>
</prestado>
</ejemplar>
<ejemplar tipo_ejem="revista" titulo="Todo Linux 101. Virtualizacin en GNU/Linux"
editorial="StudioPress">
<tipo>
<revista>
<fecha_publicacionmes="abr"ao="2009"></fecha_publicacion>
</revista>
</tipo>
<autornombre="Varios"></autor>
<prestadolector="PedroPicapiedra">
<fecha_presdia="12"mes="ene"ao="2010"></fecha_pres>
</prestado>

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

</ejemplar>
</biblioteca>

2.5ComparacindeXMLconHTML.
XML

HTML

EsunperfildeSGML.
Especifica cmo deben definirse
conjuntos de etiquetas aplicables a
untipodedocumento.
Modelodehiperenlacescomplejo.
Elnavegadoresunaplataformapara
eldesarrollodeaplicaciones.
Findelaguerradelosnavegadoresy
etiquetaspropietarias.

EsunaaplicacindeSGML.
Aplica un conjunto limitado de
etiquetas sobre un nico tipo de
documento.
Modelodehiperenlacessimple.
Elnavegadoresunvisordepginas.
El
problema
de
la
"no
compatibilidad" y las diferencias
entre navegadores ha alcanzado un
puntoenelquelasolucinesdifcil

Ejemplo
FicheroXML
<?xmlversion="1.0"encoding="iso88591"?>
<!DOCTYPElibro>
<libro>
<titulo>XMLpractico</titulo>
<autor>SebastienLecomte</autor>
<autor>ThierryBoulanger</autor>
<editorial>EdicionesEni</editorial>
<isbn>9782746049581</isbn>
<edicion>1</edicion>
<paginas>347</paginas>
<libro>
Alinterpretaresteficheroconunnavegador,porejemploMozilla,seobtiene:

Fichero HTML
<html>
<head>
<title>Libro</title>
</head>
<body>
<h3>XMLpractico</h3><br>
<p>autores:SebastienLecomte,

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

ThierryBoulanger</p>
<ul>
<li>editorial:EdicionesEni</li>
<li>isbn:9782746049581</li>
<li>edicion:1</li>
<li>paginas:347</li>
</ul>
</body>
</html>
AlinterpretarloconelnavegadorMozillaFirefoxtendremos:

2.6ComparacindeXMLconSGML.

XML
Suusoessencillo.
Trabajacondocumentosbienformados,
noexigequeestnvalidados.
Facilita el desarrollo de aplicaciones de
bajocoste.
Esmuyutilizadoeninformticayenms
reasdeaplicacin.
CompatibilidadeintegracinconHTML.
Formateoyestilosfcilesdeaplicar.
Nousaetiquetasopcionales.

SGML
Suusoesmuycomplejo.
Slotrabajacondocumentosvlidos.
Su complejidad hace que las aplicaciones
informticas para procesar SGML sean muy
costosas.
Sloseutilizaensectoresmuyespecficos.
NohayunacompatibilidadconHTMLdefinida.
Formateoyestilosrelativamentecomplejos.

Pregunta de Eleccin Mltiple


Cules son las caractersticas comunes de XML y SGML?
Guardan el formato de un documento.
Guardan la estructura lgica de los documentos.
Guardan los documentos en el formato universal txt.
Guardan el formato de los documentos independientemente de la plataforma.
Parasaberms
LarecomendacindeXMLpublicadaporelW3Cespblicayaccesibleen:
http://www.w3.org/TR/2000/REC-xml-20001006

10

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

3. Etiquetas.
Loslenguajesdemarcasutilizanunaseriedeetiquetasespecialesintercaladasenundocumentodetexto
sinformato.Dichasetiquetassernposteriormenteinterpretadasporlosintrpretesdellenguajeyayudan
alprocesadodeldocumento.
Lasetiquetasseescribenencerradasentrengulos,esdecir<y>.Normalmente,seutilizandosetiquetas:
una de inicio y otra de fin para indicar que ha terminado el efecto que queramos presentar. La nica
diferenciaentreambasesqueladecierrellevaunabarrainclinada"/"antesdelcdigo.

<etiqueta>texto que sufrir las consecuencias de la etiqueta</etiqueta>


Ejemplo
Porejemplo,enHTML
<u>Estoestsubrayado</u>
Alinterpretarloenunnavegadorseveras:
Estoestsubrayado

Las ltimas especificaciones emitidas por el W3C indican la necesidad de que vayan escritas siempre en
minsculasparaconsiderarqueeldocumentoestcorrectamentecreado.

Autoevaluacin
Cul de las siguientes lneas es correcta?
<i>Texto en cursiva
<i>Texto en cursiva<i>
<i>Texto en cursiva</i>
<I>Texto en cursiva<I>

11

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

4. Herramientas bsicas de XML.


ParatrabajarenXMLesnecesarioeditarlosdocumentosyluegoprocesarlos,portantotenemosdostipos
deherramientas:

EditoresXML
Unacaractersticadeloslenguajesdemarcasesquesebasanenlautilizacindeficherosdetexto
plano por lo que basta utilizar un procesador de texto normal y corriente para construir un
documentoXML.
ParacreardocumentosXMLcomplejoseiraadiendodatosesconvenienteusaralgneditorXML.
Estos nos ayudan a crear estructuras y etiquetas de los elementos usados en los documentos,
ademsalgunosincluyenayudaparalacreacindeotroselementoscomoDTD,hojasdeestiloCSS
oXSL,...ElW3ChadesarrolladouneditordeHTML,XHTML,CSSyXMLgratuitocuyonombrees
Amaya.

ProcesadoresXML
Para interpretar el cdigo XML se puede utilizar cualquier navegador. Los procesadores de XML
permiten leer los documentos XML y acceder a su contenido y estructura. Un procesador es un
conjuntodemdulosdesoftwareentrelosqueseencuentraunparseroanalizadordeXMLque
comprueba que el documento cumple las normas establecidas para que pueda abrirse. Estas
normas pueden corresponderse con las necesarias para trabajar slo con documentos de tipo
vlidoosloexigirqueeldocumento estbienformado,primerosseconocencomovalidadoresy
lossegundoscomonovalidadores.ElmodoenquelosprocesadoresdebenleerlosdatosXMLest
descritoenlarecomendacindeXMLestablecidaporW3C.
Para publicar un documento XML en Internet se utilizan los procesadores XSLT, que permiten
generararchivosHTMLapartirdedocumentosXML.
PuestoqueXMLsepuedeutilizarparaelintercambiodedatosentreaplicaciones,hayquerecurrir
amotoresindependientesqueseejecutansinquenosdemoscuenta.Entreestosdestacan"XML
paraJava"deIBM,JAXPdeSun,etc

Autoevaluacin
Para crear documentos XML es necesario:
Software especializado para la tecnologa XML
Herramientas de validacin de XML.
Un block de notas y un navegador.
Al menos, un editor XML.
Parasaberms
InformacinsobreanalizadoresXML:
http://www.oasis-open.org/cover

12

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

Algunosdelosanalizadoresdisponiblesestnenlosenlacessiguientes:
http://www.jclark.com/xml/expat.html
http://www.mozilla.org/rdf/doc/xml.html
http://www.microstar.com/XMLindex.htm

13

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

5. XML: estructura y sintaxis.


El XML, o Lenguaje de Etiquetas Extendido, es lenguaje de etiquetas, creadas por el programador, que
estructuran y guardan de forma ordenada la informacin. No representa datos por s mismo, solamente
organizalaestructura.
ElXMLahorratiemposdedesarrolloyproporcionaventajas,dotandoawebsyaaplicacionesdeunaforma
realmentepotente deguardarlainformacin.Adems,sehaconvertidoenunformato universalqueha
sidoasimiladoportodotipodesistemasoperativosydispositivosmviles.
Aligualque enHTMLun documentoXMLesundocumentode texto,enestecasoconextensin".xml",
compuestodeparejasdeetiquetas,estructuradasenrbol,quedescribenunafuncinenlaorganizacin
del documento, que puede editarse con cualquier editor de texto y que es interpretado por los
navegadoresWeb.
LascaractersticasbsicasdeXMLson:

DadoqueXMLseconcibiparatrabajarenlaWeb,esdirectamentecompatibleconprotocolosque
yafuncionan,comoHTTPylosURL.
TododocumentoqueverifiquelasreglasdeXMLestconformeconSGML.
NoserequierenconocimientosdeprogramacinpararealizartareassencillasenXML.
LosdocumentosXMLsonfcilesdecrear.
LadifusindelosdocumentosXMLestaseguradayaquecualquierprocesadordeXMLpuedeleer
undocumentodeXML.
ElmarcadodeXMLeslegibleparaloshumanos.
EldiseoXMLesformalyconciso.
XMLesextensible,adaptableyaplicableaunagranvariedaddesituaciones.
XMLesorientadoaobjetos.
Todo documento XML se compone exclusivamente de datos de marcado y datos carcter
entremezclados.

El proceso de creacin de un documento XML pasa por variasetapas en las que el xito de cada una de
ellassebasaenlacalidaddelaanterior.Estasetapasson:

Especificacinderequisitos.
Diseodeetiquetas.
Marcadodelosdocumentos.

ElmarcadoenXMLsonetiquetasqueseaadenauntextoparaestructurarelcontenidodeldocumento.
Esta informacin extra permite a los ordenadores "interpretar" los textos. El marcado es todo lo que se
sitaentreloscaracteres"<"y">"o"&"y";"
LosdatoscarctersonlosqueformanlaverdaderainformacindeldocumentoXML.
Elmarcadopuedesertanricocomosequiera.Puedeserinteresantedetectarnecesidadesfuturasycrear
documentosconunaestructurafcilmenteactualizables.
LosdocumentosXMLpuedentenercomentarios,quenosoninterpretadosporelinterpreteXML.Estosse
incluyenentrelascadenas"<!"y">",puedenestarencualquierposicineneldocumentosalvo:

14

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

Antesdelprlogo.
Dentrodeunaetiqueta.
Los documentos XML pueden estar formados por una parte opcional llamada prlogo y otra parte
obligatoriallamadaejemplar.

5.1Elprlogo.
Siseincluye,elprlogodebeprecederalejemplardeldocumento.Suinclusinfacilitaelprocesadodela
informacindelejemplar.Elprlogoestdivididoendospartes:

LadeclaracinXML:Enelcasodeincluirsehadeserlaprimeralneadeldocumento,denoseras
segeneraunerrorqueimpidequeeldocumentoseaprocesado.
El hecho de que sea opcional permite el procesamiento de documentos HTML y SGML como si
fueran XML, si fuera obligatoria stos deberan incluir una declaracin de versin XML que no
tienen.
Elprlogopuedetenertresfunciones:
o

DeclaracinlaversindeXMLusadaparaelaborareldocumento.

Paraelloseutilizalaetiqueta:
<?xmlversin=1.0?>
Enestecasoindicaqueeldocumentofuecreadoparalaversin1.0deXML.
o

Declaracindelacodificacinempleadapararepresentarloscaracteres.

Determinaelconjuntodecaracteresqueseutilizaeneldocumento.Paraelloseescribe:
<?xmlversin=1.0encoding=iso88591?>
En este caso se usa el cdigo iso88591 (Latin1) que permite el uso de acentos o
caracterescomola.
Loscdigosmsimportantesson:

Estndar ISO
UTF-8 (Unicode)
ISO -8859-1 (Latin-1)
ISO -8859-2 (Latin-2)
ISO -8859-3 (Latin-3)
ISO -8859-4 (Latin-4)
ISO -8859-5
ISO -8859-6
ISO -8859-7
ISO -8859-8
ISO -8859-9
ISO-8859-10
EUC-JP oder Shitf_JIS

Cdigo de pas
Conjunto de caracteres universal
Europa occidental, Latinoamrica
Europa central y oriental
Sudoeste de Europa
Pases Escandinavos, Blticos
Cirlico
rabe
Griego
Hebreo
Turco
Lapn. Nrdico, esquimal
Japons

15

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

Declaracindelaautonomadeldocumento.
Informadesieldocumentonecesitadeotroparasuinterpretacin.Paradeclararlohayque
definirelprlogocompleto:
<?xmlversin=1.0encoding=iso88591standalone=no?>
Enestecaso,eldocumentoesindependiente,denoseraselatributostandalonehubiese
tomadoelvalor"yes".

Ladeclaracindeltipodedocumento,definequtipodedocumentoestamoscreandoparaser
procesadocorrectamente.Todadeclaracindetipodedocumentocomienzaporlacadena:
<!DOCTYPENombre_tipo...>

5.2Elejemplar.Loselementos.
EslapartemsimportantedeundocumentoXML,yaquecontienelosdatosrealesdeldocumento.Est
formadoporelementosanidados.
Los elementos son los distintos bloques de informacin que permiten definir la estructura de un
documento XML. Est, delimitados por una etiqueta de apertura y una etiqueta de cierre. A su vez los
elementospuedenestarformadosporotroselementosy/oporatributos.

Ejemplo
SeaelsiguientecdigoXML
<?xmlversion="1.0"encoding="iso88591"?>
<!DOCTYPElibro>
<libro>
<titulo>XMLpractico</titulo>
<autor>SebastienLecomte</autor>
<autor>ThierryBoulanger</autor>
<editorial>EdicionesEni</editorial>
<isbn>9782746049581</isbn>
<edicion>1</edicion>
<paginas>347</paginas>
<libro>
El ejemplar es el elemento <libro>, que a su vez est compuesto de los elementos <autor>, <editorial>,
<isbn>,<edicion>y<paginas>.

En realidad, el ejemplar es el elemento raz de un documento XML. Todos los datos de un


documento XML han de pertenecer a un elemento del mismo.
Losnombresdelasetiquetashandeserautodescriptivos,loquefacilitaeltrabajoquesehaceconellas.

16

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

La formacindeelementoshadecumplirciertasnormasparaquequedenperfectamentedefinidosyque
eldocumentoXMLalquepertenecenpuedaserinterpretadoporlosprocesadoresXMLsingenerarningn
errorfatal.Dichasreglasson:

EntododocumentoXMLdebeexistirunelementoraz,yslouno.
Todos los elementos tienen una etiqueta de inicio y otra de cierre. En el caso de que en el
documentoexistanelementosvacos,sepuedensustituirlasetiquetasdeinicioycierreporunade
elementovaco.staseconstruyecomolaetiquetadeinicio,perosustituyendoelcarcter">"por
"/>.Esdecir,<elemento></elemento>puedesustituirsepor:<elemento/>
Al anidar elementos hay que tener en cuenta que no puede cerrarse un elemento que contenga
algnotroelementoqueannosehayacerrado.
Los nombres de las etiquetas de inicio y de cierre de un mismo elemento han de ser idnticos,
respetando las maysculas y minsculas. Pueden ser cualquier cadena alfanumrica que no
contenga espacios y no comience ni por el carcter dos puntos, ":", ni por la cadena "xml" ni
ningunadesusversionesenquesecambienmaysculasyminsculas("XML","XmL","xML",...).
El contenido de los elementos no puede contener la cadena "]]>" por compatibilidad con SGML.
Ademsnosepuedenutilizardirectamenteloscaracteresmayorque,>,menorque,<,ampersand,
&,doblescomillas,",yapostrofe,.Enelcasodetenerqueutilizarestoscaracteressesustituyen
porlassiguientescadenas:

Carcter Cadena
&gt;
>
&lt;
<

Carcter Cadena
&amp;
&
&quot;
"

Carcter Cadena
&apos;

Parautilizarcaracteresespeciales,como,,,...hayqueusarlasexpresiones&#D;o&#H;donde
DyHsecorrespondenrespectivamenteconelnmerodecimalohexadecimalcorrespondienteal
carcterquesequiererepresentarenelcdigoUNICODE.Porejemplo,paraincluirelcarcterde
Euro,,seusaranlascadenas&#8364;o&#x20AC;

Debes conocer
En el siguienteenlaceencontrarsunatablaconloscaracteresASCII,elnombreHTML,yel
nmero HTML de cada uno de ellos que te ser imprescindible a la hora de realizar
documentosenHTMLyXML.
http://ascii.cl/es/codigos-html.htm
5.2.1Atributos.
Permiten aadir propiedades a los elementos de un documento. Los atributos no pueden organizarse en
ningunajerarqua,nopuedencontenerningnotroelementooatributoynoreflejanningunaestructura
lgica.
Nosedebeutilizarunatributoparacontenerinformacinsusceptibledeserdividido.

Ejemplo
DadoelsiguientecdigoXML:
<?xmlversion="1.0"encoding="iso88591"standalone="yes"?
<!DOCTYPEbiblioteca>
<biblioteca>
<ejemplartipo_ejem="libro"titulo="XMLprctico"editorial="EdicionesEni">
<tipo><libroisbn="9782746049581"edicion="1"paginas="347"></libro></tipo>

17

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

<autornombre="SebastienLecomte"></autor>
<autornombre="ThierryBoulanger"></autor>
<autornombre="AngelBelinchonCalleja"funcion="traductor"></autor>
<prestadolector="PepitoGrillo">
<fecha_presdia="13"mes="mar"ao="2009"></fecha_pres>
<fecha_devoldia="21"mes="jun"ao="2009"></fecha_devol>
</prestado>
</ejemplar>
</biblioteca>

Al abrir el documento anterior


con el navegador Firefox
obtenemos:

Vemos que los elementos aparecen coloreados en ciruela, los nombres de los atributos en negro y sus
valoresenazul.
Comoseobservaenelejemplo,losatributossedefinenydanvalordentrodeunaetiquetadeinicioode
elemento vacio, a continuacin del nombre del elemento o de la definicin de otro atributo siempre
separadodeellosporunespacio.Losvaloresdelatributovanprecedidosdeunigualquesiguealnombre
delmismoytienenquedefinirseentrecomillassimplesodobles.
Los nombres de los atributos han de cumplir las mismas reglas que los de los elementos, y no pueden
contenerelcarctermenorque,<.

Autoevaluacin
Cules son los errores del siguiente documento XML?
<?XML version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE biblioteca >
<biblioteca>
<ejemplar tipo_ejem='libro' titulo='XML prctico' editorial='Ediciones Eni'>
<tipo> <libro isbn='978-2-7460-4958-1' edicion= paginas='347'></libro> </tipo>
<autor nombre='Sebastien Lecomte'></autor>
<autor nombre='Thierry Boulanger'></autor>
<autor nombre='Angel Belinchon Calleja' funcion='traductor'></autor>
<prestado lector='Pepito Grillo'>
<fecha_pres dia='13' mes='mar' ao='2009'></fecha_pres>
<fecha_devol/>
</prestado>

18

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

</ejemplar>
</biblioteca>
Utiliza maysculas en la definicin de la versin XML.
No utiliza el cdigo de caracteres adecuado.
Los valores de los atributos no estn entre comillas dobles.
Hay algn atributo vaco.
La etiqueta <fecha_devol/> no se cierra.
Se usan maysculas en los datos del documento.

19

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

6. Documentos XML bien formados.


TodoslosdocumentosXMLdebenverificarlasreglassintcticasquedefinelarecomendacindelW3Cpara
elestndarXML.Esasnormasbsicasson:

Eldocumentohadetenerdefinidounprlogoconladeclaracinxmlcompleta.

Existeunnicoelementorazparacadadocumento:esunsoloelementoenelquetodoslosdems
elementosycontenidosseencuentrananidados.

Hay que cumplir las reglas sintcticas del lenguaje XML para definir los distintos elementos y
atributosdeldocumento

Autoevaluacin
Est "bien formado" el siguiente documento XML?
<?xml version="1.0"?>
<mensaje>
<destinatario>Tomas</ destinatario>
<remitente>Juan</ remitente>
<asunto>
<contenido> No olvides ir a recogerme al aeropuerto maana por la maana!</contenido>
</mensaje>
Verdadero.

20

Falso.

DAW

Reconocimientodelascaractersticasdelenguajesdemarcas

7. Utilizacin de espacios de nombres en XML.


PermitendefinirlapertenenciadeloselementosylosatributosdeundocumentoXMLalcontextodeun
vocabulario XML. De este modo se resuelven las ambigedades que se pueden producir al juntar dos
documentos distintos, de dos autores diferentes, que han utilizado el mismo nombre de etiqueta para
representarcosasdistintas.
Los espacios de nombres tambin conocidos como name spaces, permiten dar un nombre nico a cada
elemento,indexndolossegnelnombredelvocabularioadecuadoademsestnasociadosaunURIque
losidentificadeformanica.
Eneldocumento,lasetiquetasambiguassesustituyenporotrasenlasqueelnombredelelementoest
precedidodeunprefijo,quedeterminaelcontextoalquepertenecelaetiqueta,seguidodedospuntos,:.
Estoes:
<prefijo:nombre_etiqueta></prefijo:nombre_etiqueta>

Esta etiqueta se denomina "nombre cualificado". Al definir el prefijo hay que tener en cuenta que no se
puedenutilizarespaciosnicaracteresespacialesyquenopuedecomenzarporundigito.
Antes de poder utilizar un prefijo de un espacio de nombres, para resolver la ambigedad de dos o ms
etiquetas,esnecesariodeclararelespaciodenombres,esdecir,asociarunndiceconelURIasignadoal
espaciodenombres,medianteunatributoespecialxmlns.Estosehaceentreelprlogoyelejemplardeun
documentoXMLysusintaxiseslasiguiente:
<conexion>://<direccionservidor>/<apartado1>/<apartado2>/...

Ejemplo
Sean los documentos XML que organizan la informacin sobre los profesores y los alumnos
delASIRrespectivamente:
<?xmlversion="1.0"encoding="iso88591"standalone="yes"
<!DOCTYPEalumnos>
<alumnos>
<nombre>FernandoFernndezGonzlez</nombre>
<nombre>IsabelGonzlezFernndez</nombre>
<nombre>RicardoMartnezLpez</nombre>
</alumnos>

<?xmlversion="1.0"encoding="iso88591"standalone="yes"?>
<!DOCTYPEprofesores>
<profesores>
<nombre>PilarRuizPrez</nombre>
<nombre>TomsRodrguezHernndez</nombre>
</profesores>

21

Reconocimientodelascaractersticasdelenguajesdemarcas

DAW

AlhacerundocumentosobrelosmiembrosdelcursoASIRnosedistinguiranlosprofesores
delosalumnos,pararesolverlodefiniremosunespaciodenombresparacadacontexto:

<?xmlversion="1.0"encoding="iso88591"standalone="yes"?>
<!DOCTYPEmiembros>
<alumnosxlmns:alumnos=http://ASIR/alumnos>
<profesoresxlmns:profesores=http://ASIR/profesores>
<asistentes>
<alumnos:nombre>FernandoFernndezGonzlez</alumnos:nombre>
<alumnos:nombre>IsabelGonzlezFernndez</alumnos:nombre>
<alumnos:nombre>RicardoMartnezLpez</alumnos:nombre>
<profesores:nombre>PilarRuizPrez</profesores:nombre>
<profesores:nombre>TomsRodrguezHernndez</profesores:nombre>
</asistentes>
Autoevaluacin
Los espacios de nombres permiten
Utilizar etiquetas idnticas para estructurar distintos tipos de informacin de texto.
Estructurar la informacin de un documento XML cuando proviene de varios documentos.
Asignar varias etiquetas a una misma informacin.
Definir etiquetas en otros documentos.
Parasaberms
LosespaciosdenombrestienenunarecomendacinenXML:
http://www.w3.org/TR/RECxmlnames/

22