Sei sulla pagina 1di 24

2017613 EjemploHTML

Reconocimiento de las caractersticas de lenguajes de


marcas.

Casoprctico
Mara y Flix son los fundadores y propietarios de una asesora legal y empresarial, que tiene su sede en Cantabria, con
oficinasenlosmunicipiosmsimportantesdelaregin.

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 clienteservidor sobre un
sistemaoperativoWindowsytrabajabaconunabasededatosdedocumentosjurdicos.

Flix,diplomadoenCienciasEmpresariales,habacreadounaasesoraempresarial,ubicadaenSantander,quebsicamente,
seencargabadelacontabilidaddevariasPYMES.Tambintenaunaredclienteservidor,perostabajounsistemaLinuxcon
softwarelibredecontabilidad.

Amboseranamigosyundaenquehabanestadohablandodesusrespectivostrabajos,decidieronquesusingresospodan
aumentarsustancialmentesi,ademsdemantenersusrespectivascarterasdeclientes,seunanyformabanunasociedadque
ofreciesealasempresasasesoralegalyempresarialdeformaconjunta.

Desdeelprincipio,laideadeasociarsefueunxito.Alcabodedosaoselvolumendelnegociosehabaextendidoysehizo
imprescindibleelintercambiodecomunicacinentreambos.

Dadoquetrabajabanconsistemasinformticosdiferentesseplateabaelproblemadecmopodancompartirinformacinsobre
losclientescomunesmanteniendolainfraestructurainformticaconlaquetrabajacadauno.

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.
SegnloqueJuanlesdijo,generardocumentoscondichoestndarapenasrequiereconocimientospreviosdeinformtica,por
tantoeraunasolucinqueparecaperfectaparasuproblema.

MaterialesdesarrolladosyactualizadosporelprofesoradodelaJuntadeAndaluca

Avisolegal

1. Definicin y clasificacin de lenguajes de marcas.


Los "lenguajes de marcas" (o lenguajes de marcado) sirven para codificar un documento donde, junto con el texto, se incorporan
etiquetas, marcas o anotaciones con informacin adicional relativa a la estructura del texto o su forma de presentarlo. El lenguaje de
marcas es el que especifica cules sern las etiquetas posibles, donde deben colocarse y el significado que tendr cada una de ellas.
Permitenhacerexplcitalaestructuradeundocumento,sucontenidosemnticoocualquierotrainformacinlingsticaoextralingsticaque
sequierahacerpatente.

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 1/24
2017613 EjemploHTML

TodolenguajedemarcasestdefinidoenundocumentodenominadoDTD(DocumentTypeDefinition).Enlseestablecenlasmarcas,los
elementosutilizadospordicholenguajeysuscorrespondientesetiquetasyatributos,susintaxisynormasdeuso.

Ejemplo
Aspectodeundocumentorealizadoconunlenguajedemarcas:

<noticia>
<fecha>25/09/2015</fecha>
<lugar>Almera</lugar>
<titular>Inciodelcurso2015/2016</titular>
<desarrollo>Elcentrodeestudiospresentaunnuevocursoescolar...</desarrollo>
</noticia>

Aunqueenlaprctica,enunmismodocumentopuedencombinarsevariostiposdiferentesdelenguajesdemarcas,stossepuedenclasificar
entresgrupos:

Orientados a presentacin: Son los utilizados generalmente por los procesadores de texto y codifican cmo ha de presentarse el
documento,esdecir,defineelformatodeltexto.Porejemplo:indicandoqueunadeterminadapalabrasedebepresentarennegrita,o
quesedebedejarunespacioentrecaracteresdeterminado.Generalmente,lasmarcasseocultanalusuario,loquepermiteobtenerun
efecto WYSIWYG.
Deprocedimientos:Orientadostambinalapresentacinpero,enestecaso,detrodeunmarcoproceduralquepermitedefinirmacros
(secuencias de acciones), es decir, el programa que representa el documento debe interpretar el cdigo en el mismo orden en que
aparece.Entrelosejemplosmscomunes,encontramosTeX,LaTeXyPostcript.
Descriptivososemnticos:Estetiponodefinequsedebehacerconuntrozooseccindeldocumento,sinoqueporelcontrario,las
marcassirvenparaindicarquesesainformacin,esdecir,describenquesloqueseestrepresentando.Describenlasdiferentes
partesperosinespecificarcmodebenrepresentarse.

Algunosejemplosdelenguajesdemarcadoagrupadosporsumbitodeutilizacinson:

Documentacinelectrnica
RTF (Rich Text Format): Formato de Texto Enriquecido, fue desarrollado por Microsoft en 1987. Permite el intercambio de
documentosdetextoentedistintosprocesadoresdetexto.
TeX:Suobjetivoeslacreacindeecuacionesmatemticascomplejas.
Wikitexto:Permitelacreacindepginaswikienservidorespreparadosparasoportarestelenguaje.
DocBook: Permite generar documentos separando la estructura lgica del documento de su formato. De este modo, dichos
documentos,puedenpublicarseendiferentesformatossinnecesidadderealizarmodificacioneseneldocumentooriginal.

Tecnologasdeinternet
HTML,XHTML:(HypertextMarkupLanguage,eXtensibleHypertextMarkupLanguage):Suobjetivoeslacreacindepginasweb.
RSS:Permiteladifusindecontenidosweb

Otroslenguajesespecializados
MathML (Mathematical Markup Language): Su objetivo es expresar el formalismo matemtico de tal modo que pueda ser
entendidopordistintossistemasyaplicaciones.
VoiceXML(VoiceExtendedMarkupLanguage)tienecomoobjetivoelintercambiodeinformacinentreunusuarioyunaaplicacin
concapacidaddereconocimientodehabla.
MusicXML:Permiteelintercambiodepartiturasentredistintoseditoresdepartituras.

Autoevaluacin
Loslenguajesdemarcasseutilizanpara:

Darformatoalosdocumentosdetexto.
Definirlaestructuradelosdatosdeundocumento.
Permitirelintercambiodeficherosentrediferentesaplicacionesyplataformas.
Todaslasanteriores.

2. Evolucin de los lenguajes de marcas.


Afinalesdelosaos60,parapoderintroduciranotacionesdentrodedocumentoselectrnicos,surgenunoslenguajesinformticos,distintos
deloslenguajesdeprogramacin,orientadosalagestindeinformacin.Coneldesarrollodeloseditoresyprocesadoresdetextosurgenlos
primeros lenguajes informticos especializados en tareas de descripcin y estructuracin de informacin: los lenguajes de marcas.
Paralelamente,tambin,surgenotroslenguajesinformticosorientadosalarepresentacin,almacenamientoyconsultaeficientedegrandes
cantidadesdedatos:lenguajesysistemasdebasesdedatos.

Loslenguajesdemarcassurgieron,inicialmente,comolenguajesformadosporelconjuntodecdigosdeformatoquelosprocesadoresde
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)abstraersedelascaractersticasdelprocesadordetextosyexpresardeformaindependienteastelaestructuraylalgicainternadel
documento.

Ejemplo
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 2/24
2017613 EjemploHTML

Ejemplo
CdigodemarcasanterioraGML.Lasetiquetassondeinvencinpropia.

Dadoelsiguientedocumento:

<times14><colorverde><centrado>Estetextoesunejemploparamostrarlautilizacinprimitivadelasmarcas</centrado></color></times14>
<colorgranate><times10><cursiva>Pararealizaresteejemploseutilizanetiquetasdenuestrainvencin.</cursiva>
Laspartesimportantesdeltextopuedenresaltarseusandola
<negrita>negrita</negrita>,oel<subrayar>subrayado</subrayar></times10></color>

Alimprimirloseobtendra:

Estetextoesunejemploparamostrarlautilizacinprimitivadelasmarcas

Para realizar este ejemplo se utilizan etiquetas de nuestra invencin. Las partes importantes del texto pueden resaltarse usando la negrita, o el
subrayado

Posteriormente,seaadieroncomomediodepresentacinalapantalla.Loscdigosdeestilodevisualizacinanterioresyanoaparecen,y
se emplean otros medios para marcados, diferentes a la inclusin a mano de cadenas formateadoras, por lo que ahora ese proceso se
automatizayessuficienteconpulsarunacombinacindeteclas,ounbotn,paralograrlosresultadosrequeridos.Aunqueestoesslouna
abstraccin, para su uso interno, las aplicaciones siguen utilizando marcas para delimitar aquellas partes del texto que tienen un formato
especial.

Estemarcadoestabaexclusivamenteorientadoalapresentacindelainformacin,aunqueprontofueronconscientesdelasposibilidadesdel
marcadoyseledieronnuevosusosqueresolveranunagranvariedaddenecesidades,aparecielformatogeneralizado.

2.1. El origen: GML y SGML.


Unodelosproblemasqueseconocendesdehacedcadasenlainformticaeslafaltadeestandarizacinenlosformatosdeinformacin
usadosporlosdistintosprogramas.

Para resolver este problema, en los aos sesenta IBM encarg a Charles F. Goldfab la construccin de un sistema de edicin,
almacenamiento y bsqueda de documentos legales. Tras analizar el funcionamiento de la empresa llegaron a la conclusin de que para
realizar un buen procesado informtico de los documentos haba que establecer un formato estndar para todos los documentos que se
manejabanenlaempresa.Conelloselograbagestionarcualquierdocumentoencualquierdepartamentoyconcualquieraplicacin,sintener
encuentadndeniconqusegenereldocumento.Dichoformatotenaqueservlidoparalosdistintostiposdedocumentoslegalesque
utilizabalaempresa,portanto,debaserflexibleparaquesepudieraajustaralasdistintassituaciones.

ElformatodedocumentosquesecrecomoresultadodeestetrabajofueGML,cuyoobjetivoeradescribirlosdocumentosdetalmodoqueel
resultadofueseindependientedelaplataformaylaaplicacinutilizada.

ElformatoGMLevolucionhastaqueen1986diolugaralestndarISO8879quesedenominSGML.steeraunlenguajemuycomplejoy
requeradeunasherramientasdesoftwarecaras.Porellosuusohaquedadorelegadoagrandesaplicacionesindustriales.

Ejemplo
DocumentoSGMLsencillo:

<email>

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 3/24
2017613 EjemploHTML
<remitente>
<nombre>Peter</nombre>
<apellido>Pan</apellido>
</remitente>
<destinatario>
<direccion>campanilla@paisdenuncajamas.com</direccion>
</destinatario>
<asunto>Paseo</asunto>
<mensaje>Teapetecedarunavuelta?</mensaje>
</email>

2.2. La popularizacin: HTML.


En 1989/90 Tim BernersLee cre el World Wide Web y conociendo SGML, se encontr con la necesidad de organizar, enlazar y
compatibilizar gran cantidad de informacin procedente de diversos sistemas. Para resolverlo, a partir de la sintaxis SGML, cre un
lenguajededescripcindedocumentosllamadoHTML,siendounacombinacindedosestndaresyaexistentes:

ASCII:Eselformatoquecualquierprocesadordetextossencillopuedereconoceryalmacenar.Portantoesunformatoquepermite
latrasferenciadedatosentrediferentesordenadores.
SGML:Lenguajequepermitedarestructuraaltexto,resaltandolosttulosoaplicandodiversosformatosaltexto.

HTML es una versin simplificada de SGML, ya que slo se utilizaban las instrucciones absolutamente imprescindibles. Era tan fcil de
comprenderquerpidamentetuvogranaceptacinlograndoloquenopudoSGML,siendounrotundoxitoenlaWorldWideWeb.HTMLse
convirtienunestndargeneralparalacreacindepginasweb.Adems,tantolasherramientasdesoftwarecomolosnavegadores
quepermitenvisualizarpginasHTMLsoncadavezmejores.

ElHTMLeshoydaeltipodedocumentomsempleadoenelmundo.Susencillezeratalquecualquierpersonapodaescribirdocumentos
enesteformato,sinapenasnecesidaddeconocimientosdeinformtica.Estafueunadelasrazonesdesuxito,perotambincondujoaun
cierto caos. El crecimiento exponencial de la web en los aos 90 produjo documentos en cantidades ingentes pero mal estructurados,
problemaagravadoanmsporlafaltaderespetoporlosestndares,porpartedediseadoreswebyfabricantesdesoftware.

Ejemplo
DocumentoHTML:

<html>
<head>
<title>EjemplodecdigoHTML</title>
</head>
<bodybgcolor="#ffffff">
<p><b>1deOctubrede2015</b></p>
<p><b>Bienvenidoalmodulode&quotLenguajesdeMarcasySistemasdeGesti&oacutendeInformaci&oacuten&quot</b></p>
<p>Enestecursoaprender&aacutes,entreotrascosas:<br/>
<ul>

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 4/24
2017613 EjemploHTML
<li>LasventajasqueofreceXML</li>
<li>Lacreaci&oacutendedocumentosbienformados</li>
<li>Lacreaci&oacutendeDTD</li>
</ul>
</p>
</body>
</html>

Alpublicarloenunnavegador,obtendramoselsiguienteresultado:

2.3. La madurez: XML.


Como respuesta a problemas surgidos en torno al HTML, el W3C establece, en 1998, el estndar internacional XML, un lenguaje de
marcas puramente estructural que no incluye ninguna informacin relativa al diseo, que permite crear etiquetas adaptadas a las
necesidades(deahlode"extensible").EstconvirtindoseconrapidezenestndarparaelintercambiodedatosenlaWeb.Adiferenciade
HTMLlasetiquetasindicanelsignificadodelosdatosenlugardelformatoconelquesevanavisualizarlosdatos.

XMLesun metalenguajecaracterizadopor:

Permitirdefiniretiquetaspropias.
Permitirasignaratributosalasetiquetas.
Utilizarunesquemaparadefinirdeformaexactalasetiquetasylosatributos.
Laestructurayeldiseosonindependientes.

EnrealidadXMLesunconjuntodeestndaresrelacionadosentresyqueson:

XSL,eXtensibleStyleLanguage.PermitedefinirhojasdeestiloparalosdocumentosXMLeincluyecapacidadparalatransformacinde
documentos.
XMLLinkingLanguage,incluyeXpath,XlinkyXpointer.DeterminanaspectossobrelosenlacesentredocumentosXML.
XMLNamespaces.ProveenuncontextoalqueseaplicanlasmarcasdeundocumentodeXMLyquesirveparadiferenciarlasdeotras
conidnticonombrevlidasenotroscontextos.
XMLSchemas.PermitendefinirrestriccionesqueseaplicarnaundocumentoXML.ActualmentelosmsusadossonlasDTD.

Ejemplo
DocumentoXML:

<?xmlversion="1.0"encoding="iso88591"?>
<!DOCTYPEbiblioteca>
<biblioteca>
<ejemplartipo="libro"isbn="9782746049581"edicion="1"paginas="347"fecha="01/04/2011">
<titulo>XMLpractico</titulo>
<editorial>EdicionesEni</editorial>
<autor>SebastienLecomte</autor>
<autor>ThierryBoulanger</autor>
<autorfuncion="traductor">ngelBelinchonCalleja</autor>
<prestamos>
<lectorsocio="0223"inicio="13/05/2014"devolucion="15/05/2014">PedroLpez</lector>
<lectorsocio="0065"inicio="13/07/2015"devolucion="15/07/2015">AliMndez</lector>
</prestamos>
</ejemplar>
<ejemplartipo="revista"paginas="51"fecha="01/11/2009">
<titulo>TodoLinux101.VirtualizacinenGNU/Linux</titulo>
<editorial>StudioPress</editorial>
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 5/24
2017613 EjemploHTML
<editorial>StudioPress</editorial>
<autor>TeresaLpez</autor>
<autor>AndrsLozano</autor>
<prestamos>
<lectorsocio="0211"inicio="11/05/2015"devolucion="15/05/2015">VctorRodrguez</lector>
</prestamos>
</ejemplar>
</biblioteca>

Alpublicarloenunnavegador,obtendramoselsiguienteresultado:

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 6/24
2017613 EjemploHTML

2.4. Comparativa XMLSGML.

XML SGML

Suusoessencillo. Suusoesmuycomplejo.

Trabajacon documentosbienformados,noexige
Slotrabajacon documentosvlidos.
queestnvalidados.

Sucomplejidadhacequelasaplicacionesinformticasparaprocesar
Facilitaeldesarrollodeaplicacionesdebajocoste.
SGMLseanmuycostosas.

Esmuyutilizadoeninformticayenmsreasde
Sloseutilizaensectoresmuyespecficos.
aplicacin.

CompatibilidadeintegracinconHTML. NohayunacompatibilidadconHTMLdefinida.

Formateoyestilosfcilesdeaplicar. Formateoyestilosrelativamentecomplejos.

Nousaetiquetasopcionales.

Autoevaluacin
CulessonlascaractersticascomunesdeXMLySGML?

Guardanelformatodeundocumento.
Guardanlaestructuralgicadelosdocumentos.
Guardanlosdocumentosenelformatouniversaltxt.
Guardanelformatodelosdocumentosindependientementedelaplataforma.

Parasaberms
LarecomendacindeXMLpublicadaporelW3Cespblicayaccesibleen:

http://www.w3.org/TR/RECxml/

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 7/24
2017613 EjemploHTML

2.5. Comparativa XMLHTML.

XML HTML

EsunperfildeSGML. EsunaaplicacindeSGML.

Especificacmodebendefinirseconjuntosde Aplicaunconjuntolimitadodeetiquetassobreunnicotipode
etiquetasaplicablesauntipodedocumento. documento.

Modelode hiperenlacescomplejo. Modelodehiperenlacessimple.

Elnavegadoresunaplataformaparaeldesarrollo
Elnavegadoresunvisordepginas.
deaplicaciones.

Findelaguerradelosnavegadoresyetiquetas Elproblemadela'nocompatibilidad'ylasdiferenciasentrenavegadores
propietarias. haalcanzadounpuntoenelquelasolucinesdifcil.

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>

AlinterpretaresteficheroXMLconunnavegador,seobtendra:

FicheroHTML.

<html>
<head>
<title>Libro</title>
</head>
<body>
<h3>XMLpr&aacutectico</h3><br>
<p>Autores:SebastienLecomte,ThierryBoulanger</p>
<ul>
<li>Editorial:EdicionesEni</li>
<li>ISBN:9782746049581</li>
<li>Edici&oacuten:1</li>
<li>P&aacuteginas:347</li>

</ul>
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 8/24
2017613 EjemploHTML
</ul>
</body>
</html>

AlinterpretaresteficheroHTMLconunnavegador,seobtendra:

3. Etiquetas, elementos y atributos.


Loslenguajesdemarcasutilizanunaseriedeetiquetasespecialesintercaladasenundocumentodetextosinformato.Dichasetiquetassern
posteriormenteinterpretadasporlosintrpretesdellenguajeyayudanalprocesadodeldocumento.

Existen tres trminos comnmente usados para describir las partes de un documento de lenguajes de marcas: etiquetas, elementos y
atributos.

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 9/24
2017613 EjemploHTML
Una etiqueta (tag) es que se escriben encerradas entre smbolos menor que (<) y mayor que (>). Normalmente, se utilizan dos
etiquetas:unadeinicioyotradefinparaindicarquehaterminadoelefectoquequeramospresentar.Lanicadiferenciaentreambases
queladecierrellevaunabarrainclinada"/"antesdelcdigo.

textoqueheredarlascaractersticasdelaetiqueta
Loselementosrepresentanestructurasmediantelasqueseorganizarelcontenidodeldocumentooaccionesquesedesencadenancuando
elnavegadorinterpretalointerpreta.Constandelaetiquetadeinicio,laetiquetadefinydetodoaquelloqueseencuentreentreambas.
Algunoselementosnotienencontenido,ysedenominanelementosvacos(nodebenllevaretiquetadefin).
Unatributoesunparnombrevalor,queseencuentradentrodelaetiquetadeiniciodeunelementoeindicandiferentespropiedadesque
puedenllevarasociadosloselementos.

Ejemplo
Porejemplo,enHTML

Holaatodos.Estetextoseveennegrita.

Alinterpretarloenunnavegadorseveras(Conelfondodelapginaenamarillodebidoalatributobgcolor):

Autoevaluacin
Culdelassiguienteslneasescorrecta?

Textoencursiva
Textoencursiva
Textoencursiva
Textoencursiva

4. Herramientas de edicin.
ParatrabajarenXMLesnecesarioeditarlosdocumentosyluegoprocesarlos,portantotenemosdostiposdeherramientas:

EditoresXML
Unacaractersticadeloslenguajesdemarcasesquesebasanenlautilizacindeficherosde textoplanoporloquebastautilizarun
editor de texto para construir un documento XML, es importante que el editor no permita formatear el texto, para que no introduzca
"cdigobasura"ennuestrodocumento.

ParacreardocumentosXMLcomplejoseiraadiendodatosesconvenienteusaralgnsoftwaredeedicinXML.Estosnosayudana
crearestructurasyetiquetasdeloselementosusadosenlosdocumentos,coloreanlasetiquetasparadiferenciarlasmscmodamente
yademsalgunosincluyenayudaparalacreacindeotroselementoscomoDTD,hojasdeestiloCSSoXSL,...ElW3Chadesarrollado
uneditordeHTML,XHTML,CSSyXMLgratuitocuyonombreesAmaya,peroexistenotrosgratuitoscomoson:Notepad++, Sublime
Text,Netbeans,oXygen(30dasrenovables),etc...

ProcesadoresXML
ParainterpretarelcdigoXMLsepuedeutilizarcualquiernavegador.LosprocesadoresdeXMLpermitenleerlosdocumentosXMLy
acceder a su contenido y estructura. Un procesador es un conjunto de mdulos de software entre los que se encuentra un parser o
analizadordeXMLquecompruebaqueeldocumentocumplelasnormasestablecidasparaquepuedaabrirse.Estasnormaspueden
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 10/24
2017613 EjemploHTML
analizadordeXMLquecompruebaqueeldocumentocumplelasnormasestablecidasparaquepuedaabrirse.Estasnormaspueden
corresponderseconlasnecesariasparatrabajarslocondocumentosdetipovlidoosloexigirqueeldocumentoestbienformado,
primeros se conocen como validadores y los segundos como no validadores. El modo en que los procesadores deben leer los datos
XMLestdescritoenlarecomendacindeXMLestablecidaporW3C.

Para publicar un documento XML en Internet se utilizan los procesadores XSLT, que permiten generar archivos HTML a partir de
documentosXML.

PuestoqueXMLse puede utilizar para el intercambio de datos entre aplicaciones,hayquerecurriramotoresindependientesquese


ejecutansinquenosdemoscuenta.Entreestosdestacan"XMLparaJava"deIBM,JAXPdeSun,etc

Autoevaluacin
ParacreardocumentosXMLesnecesario:

SoftwareespecializadoparalatecnologaXML.

HerramientasdevalidacindeXML.

Unblocdenotasyunnavegador.

Almenos,uneditorXML.

Parasaberms
InformacinsobreanalizadoresXML:

http://www.oasisopen.org/cover

Algunosdelosanalizadoresdisponiblesestnenlosenlacessiguientes:

http://www.jclark.com/xml/expat.html

http://www.mozilla.org/rdf/doc/xml.html

5. XML

Casoreal
Suponemosdoslibreras(AyB)yunaEditorialqueproveelibros.Cadaunadeestaslibrerastieneunsoftwarediferentepara
gestionar sus libros, pero la finalidad es la misma, que es almacenar y gestionar sus libros, pero cada una de ellas est
introduciendo "a mano" todos los datos de cada uno de ellos, con la consiguiente prdida de tiempo, ya que son los mismos
datos...

Silaeditorialyadisponedelosdatosprincipalesdeloslibrosqueprovee,porquvolveraintroduciresainformacinencada
librera?.Lomslgicoesquelaeditoriallesentregaraunficheroolesindicaraunlugardondeimportaryactualizaresosdatos,
demodoquetodaslaslibrerastendransiemprelainformacinactualizadainstantneamente.

Elproblemaradicaenqueelsoftwarequeposeecadalibreraescompletamentediferente,porloqueseranecesarioconvertir
losdatosqueproporcinalaeditorialdeformaindividualparacadalibrera,debidoaqueestamosantedistintossistemasque
organizanlamismainformacin.

Lasolucinessencillayconsisteenalmacenarlosdatosdeunaformatansimple,quecualquierprogramapuedainterpretarla:
XML.

Porejemplo,paraalmacenarunainformacintpicadeunlibro:
Ttulo:DonQuijotedelaManchaAutor:MigueldeCervantesGnero:BurlesqueEditorial:FranciscodeRoblesPersonajes:SanchoPanza,DulcineadelToboso,Rocinante.ISBN:9999999999999

vamos a utilizar etiquetas que ilustren su contenido y as identificar cada elemento. Hay que recordar que el nombre de las
etiquetasseescribensloconcaracteres,sintildes,sinespaciosniotrossmbolos.Deestemodo,tendremoslainformacindel
libroconunaestructuraysintaxisdeXML:

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 11/24
2017613 EjemploHTML

<libro>
<titulo>DonQuijotedelaMancha</titulo>
<autor>MigueldeCervantes</autor>
<genero>Burlesque</genero>
<editorial>FranciscodeRobles</editorial>
<reparto><br/><personaje>SanchoPanza</personaje>
<personaje>DulcineadelToboso</personaje>
<personaje>Rocinante</personaje>
<reparto><br/><isbn>9999999999999</isbn>
</libro>

MsadelanteveremoscmoconstruirunXMLcomoelanterior,pasoporpaso.

XMLsignificaeXtensibleMarkupLanguage,esdecir,LenguajedeMarcadoExtendido,eslenguajedeetiquetasqueprovienedelSGMLy
est regulado por el W3C. Son creadas por el programador, que estructuran y guardan de forma ordenada la informacin. No
representadatosporsmismo,solamenteorganizalaestructura.

Suimportanciaradicaenquepermitecompartirdatosentrediferentesequiposyaplicacionesdeunamanerasegura,fiableysencilla.
Elhechodequediversosequiposyaplicacionespuedangeneraryleerfcilmentearchivosenesteformato,loconviertenenunaherramienta
muycomnparaelenvodeinformacinatravsdelaWeb.

Cabe decir que se suele confundir HTML y XML, y para aclararlo diremos, en principio, que HTML est diseado para mostrar datos en
nuestras pantallas, mientras que XML sirve para almacenar y compartir datos, no para ser mostrados. Un dato de un XML lo mostrar un
HTMLqueaccederal,peroesoloveremosenunidadesposteriores.

ElXMLahorratiemposdedesarrolloyproporcionaventajas,dotandoawebsyaaplicacionesdeunaformarealmentepotentedeguardarla
informacin. Adems, se ha convertido en un formato universal que ha sido asimilado por todo tipo de sistemas operativos y dispositivos
mviles.

5.1. Estructura y sintaxis


Al igual que en HTML un documento XML es un documento de texto, en este caso con extensin ".xml", compuesto de parejas de
etiquetas,estructuradasenrbol,quedescribenunafuncinenlaorganizacindeldocumento,quepuedeeditarseconcualquiereditorde
textoyqueesinterpretadoporlosnavegadoresWeb.

LascaractersticasbsicasdeXMLson:

Dado que XML se concibi para trabajar en la Web, es directamente compatible con protocolos que ya funcionan, como HTTP y los
URL.
TododocumentoqueverifiquelasreglasdeXMLestconformeconSGML.
NoserequierenconocimientosdeprogramacinpararealizartareassencillasenXML.
LosdocumentosXMLsonfcilesdecrear.
LadifusindelosdocumentosXMLestaseguradayaquecualquierprocesadordeXMLpuedeleerundocumentodeXML.
ElmarcadodeXMLeslegibleparaloshumanos.
EldiseoXMLesformalyconciso.
XMLesextensible,adaptableyaplicableaunagranvariedaddesituaciones.
XMLesorientadoaobjetos.
TododocumentoXMLsecomponeexclusivamentededatosdemarcadoydatoscarcterentremezclados.

ElprocesodecreacindeundocumentoXMLpasaporvariasetapasenlasqueelxitodecadaunadeellassebasaenlacalidaddela
anterior.Estasetapasson:

Especificacinderequisitos.
Diseodeetiquetas.
Marcadodelosdocumentos.

ElmarcadoenXMLsonetiquetasqueseaadenauntextoparaestructurarelcontenidodeldocumento.Estainformacinextrapermitealos
ordenadores"interpretar"lostextos.Elmarcadoestodoloquesesitaentreloscaracteres"<"y">"o"&"y""

LosdatoscarctersonlosqueformanlaverdaderainformacindeldocumentoXML.

Elmarcadopuedesertanricocomosequiera.Puedeserinteresantedetectarnecesidadesfuturasycreardocumentosconunaestructura
fcilmenteactualizables.

LosdocumentosXMLpuedentenercomentarios,quenosoninterpretadosporelinterpreteXML.Estosseincluyenentrelascadenas"",
puedenestarencualquierposicineneldocumentosalvo:

Antesdelprlogo.
Dentrodeunaetiqueta.

Los documentos XML estn formados por una parte opcional llamada prlogo y otra parte obligatoria llamada ejemplar. Los vemos a
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 12/24
2017613 EjemploHTML
Los documentos XML estn formados por una parte opcional llamada prlogo y otra parte obligatoria llamada ejemplar. Los vemos a
continuacin.

5.2. El prlogo.
El prlogo debe preceder al ejemplar del documento. Su inclusin facilita el procesado de la informacin del ejemplar. El prlogo est
divididoendospartes:ladeclaracinXMLyladeclaracindeltipodedocumento.

1. La declaracin XML: Es la primera lnea del documento, de no ser as se genera un error que impide que el documento sea
procesado.
ElhechodequeseaopcionalpermiteelprocesamientodedocumentosHTMLySGMLcomosifueranXML,sifueraobligatoriastos
deberanincluirunadeclaracindeversinXMLquenotienen.Estadeclaracinpermiteindicardeformaexplcitaqueeldocumentoes
detipoXML.

Elprlogopuedetenertresfunciones:

DeclaracinlaversindeXMLusadaparaelaborareldocumento.
Paraelloseutilizalaetiqueta:

Enestecasoindicaqueeldocumentofuecreadoparalaversin1.0deXML.

Declaracindelacodificacinempleadapararepresentarloscaracteres.
Determinaelconjuntodecaracteresqueseutilizaeneldocumento.Paraelloseescribe:

Enestecasoseusaelcdigoiso88591(Latin1)quepermiteelusodetildesocaracterescomola.Otrodeloscdigosa
emplear es el UTF8 (Unicode, es un cdigo de caracteres que permite el tratamiento informtico de textos de mltiples
lenguajesydisciplinastcnicas,yaquerepresentatodosloscaracteresconocidosparacualquierlengua.Escompatiblecon
el cdigo ASCII). Sin entrar en detalles, diremos que UTF8 soporta ms caracteres y permite la visualizacin correcta de
stos en ms sistemas o lugares que iso88591. A no ser que por algn motivo no sea posible el uso de UTF8, la
recomendacin es siempre utilizar UTF8, que recordemos es la codificacin de caracteres seleccionada por defecto. Hay
quetenerprecaucinenelmomentodeguardareldocumentoeneleditordecdigo,porejemplo,siusamosSublimeText,
cuandoguardemoshabrquehacerlosegnlacodificacinelegida.).Sinentrarendetalles,diremosqueUTF8soportams
caracteresypermite la visualizacin correcta de stos en ms sistemasolugaresqueiso88591.Anoserqueporalgn
motivonoseaposibleelusodeUTF8,larecomendacinessiempreutilizarUTF8,querecordemoseslacodificacinde
caracteres seleccionada por defecto. Hay que tener precaucin en el momento de guardar el documento en el editor de
cdigo,porejemplo,siusamosSublimeText,cuandoguardemoshabrquehacerlosegnlacodificacinelegida.

Loscdigosmsimportantesson:
EstndarISO Cdigodepas

UTF8(Unicode) Conjuntodecaracteresuniversal

ISO88591(Latin1) Europaoccidental,Latinoamrica

ISO88592(Latin2) Europacentralyoriental

ISO88593(Latin3) SudoestedeEuropa

ISO88594(Latin4) PasesEscandinavos,Blticos

ISO88595 Cirlico

ISO88596 rabe

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 13/24
2017613 EjemploHTML

ISO88597 Griego

ISO88598 Hebreo

ISO88599 Turco

ISO885910 Lapn.Nrdico,esquimal

EUCJPoderShitf_JIS Japons

Declaracindelaautonomadeldocumento.
Informadesieldocumentonecesitadeotroparasuinterpretacin.Paradeclararlohayquedefinirelprlogocompleto:

En este caso, el documento es independiente, es decir, que en su interior contiene toda la informacin relevante para su
interpretacin,denoseraselatributostandalonehubiesetomadoelvalor"no".
StandaloneIndicaalprocesadorXMLsiundocumentoesindependiente(standalone=yes)osebasaeninformacindefuentes
externas,esdecir,sidependededeclaracionesdemarcaexternascomounaDTDexterna(standalone=no).
Dichodeotromodo:Especificasilavalidezdeldocumentodependedeotrodocumentoexterno,bienunaDTDounesquema,en
cuyocasoelvaloresno,osidependedeunaDTDincluidaenelmismodocumento,encuyocasoseespecificayes.

2.Ladeclaracindeltipodedocumento,definequtipodedocumentoestamoscreandoparaserprocesadocorrectamente.Toda
declaracindetipodedocumentocomienzaporlacadena:

5.3. El ejemplar.
EslapartemsimportantedeundocumentoXML,yaquecontienelosdatosrealesdeldocumento.Estformadoporelementosanidados.

En realidad, el ejemplar es el elemento raz de un documento XML, y ste se nombrar igual que la declaracin de tipo de documento
(!DOCTYPE).

Ejemplo
SeaelsiguientecdigoXML

<?xmlversion="1.0"encoding="utf8"?>
<!DOCTYPElibro>
<libro>
<titulo>XMLprctico</titulo>
<autoria>
<autor>SebastienLecomte</autor>
<autor>ThierryBoulanger</autor>
</autoria>
<editorial>EdicionesEni</editorial>
<isbn>9782746049581</isbn>
<edicion>1</edicion>
<paginas>347</paginas>
</libro>

Elejemplareselelemento,queasuvezestcompuestodeloselementos,,,,y.

Debesconocer
En el siguiente enlace encontrars una tabla con los caracteres ASCII, el nombre HTML, y el nmero HTML de cada uno de
ellosquetesermuytilalahoraderealizardocumentosenHTMLyXML.

http://ascii.cl/es/codigoshtml.htm

Atencin
Es recomendable establecer un criterio y mantenerlo en todo el documento, por ejemplo que las etiquetas vayan escritas
siempreenminsculas.

Porotrolado,paraunavisualizacinptimadeldocumento,seanidarnloselementosindentandootabulandoelcdigo.

CdigoNOindentado(Incorrecto):
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 14/24
2017613 EjemploHTML

<?xmlversion="1.0"encoding="utf8"?>
<biblioteca>
<titulo>XMLparatodos</titulo>
<editorial>EdicionesEni</editorial>
<autoria>
<autor>SebastienLecomte</autor>
<autor>ThierryBoulanger</autor>
</autoria>
</biblioteca>

Cdigoindentado(Correcto):

<?xmlversion="1.0"encoding="utf8"?>
<biblioteca>

<titulo>XMLparatodos</titulo>
<editorial>EdicionesEni</editorial>
<autoria>
<autor>SebastienLecomte</autor>
<autor>ThierryBoulanger</autor>
</autoria>
</biblioteca>

Porltimo,esrecomendableanidargruposdedatosrelacionados,esdecir,enelejemploanteriorhemosanidadodentrode,
yaqueeldocumentoquedamslimpioyordenadovisualmenteagrupandoelementosconinformacinrelacionada.

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 15/24
2017613 EjemploHTML

5.3.1. Elementos.
TodoslosdatosdeundocumentoXMLhandeperteneceraunelementodelmismo.

LoselementossonlosdistintosbloquesdeinformacinquepermitendefinirlaestructuradeundocumentoXML.Estndelimitadospor
unaetiquetadeaperturayunaetiquetadecierre.Asuvezloselementospuedenestarformadosporotroselementos.

Los nombres de las etiquetas han de ser autodescriptivos, lo que facilita el trabajo que se hace con ellas, es decir, que ilustren su
contenido.Porejemplo,siestamoscondatosrelativosaunlibro,unaetiquetanodeberaser,yaqueesdemasiadoambiguo,deberiamos
utilizaretiquetascomo,,,etc...

La formacin de elementos ha de cumplir ciertas normas para que queden perfectamente definidos y que el documento XML al que
pertenecenpuedaserinterpretadoporlosprocesadoresXMLsingenerarningnerrorfatal.Dichasreglasson:

EntododocumentoXMLdebeexistirunelementoraz,yslouno.

Todosloselementostienenunaetiquetadeinicioyotradecierre.Enelcasodequeeneldocumentoexistanelementosvacos,se
pueden sustituir las etiquetas de inicio y cierre por una de elemento vaco. sta se construye como la etiqueta de inicio, pero
sustituyendoelcarcter">"por"/>.Esdecir,puedesustituirsepor,queseconsideraunaetiquetadeinicioydecierrealavez.

Alanidarelementoshayquetenerencuentaquenopuedecerrarseunelementoquecontengaalgnotroelementoqueannose
hayacerrado.

Los nombres de las etiquetas de inicio y de cierre de un mismo elemento han de ser idnticos, respetando las maysculas y
minsculas.Puedensercualquiercadenaalfanumricaquenocontengaespacios,sintildesyquenocomienceniporelcarcterdos
puntos,":",niporlacadena"xml"(niningunadesusversionesenquesecambienmaysculasyminsculas:"XML","XmL","xML",...).

El contenido de los elementos no puede contener la cadena "]]>" por compatibilidad con SGML. Adems no se pueden utilizar
directamenteloscaracteresmayorque,>,menorque,<,ampersand,&,doblescomillas,",yapostrofe,.Enelcasodetenerque
utilizarestoscaracteressesustituyenporlassiguientescadenas:

Carcter Cadena Carcter Cadena Carcter Cadena

> > & & '

< < " "

Para utilizar caracteres especiales, como , , ,... hay que usar las expresiones &#D o &#H donde D y H se corresponden
respectivamenteconelnmerodecimalohexadecimalcorrespondientealcarcterquesequiererepresentarenelcdigoUNICODE.
Porejemplo,paraincluirelcarcterdeEuro,,seusaranlascadenaso

Atencin
Es habitual cometer un tpico error cuando desarrollamos un documento XML y es que cuando tengamos que incluir varios
temsdeunmismotipo,utilicemosenelnombredelaetiqueta"_1","_2",etc...EstoesincorrectoenXML.

Veamosunejemploerrneoparaunarecetadecocina:

<?xmlversion="1.0"encoding="UTF8"?>
<!DOCTYPEreceta>
<receta>
<nombre>Hornado</nombre>
<tipo>PlatoFuerte</tipo>
<ingredientes>
<ingrediente_1cantidad="1">Piernadecerdosinpiel</ingrediente_1>
<ingrediente_2cantidad="20">Dientesdeajomachacados</ingrediente_2>
<ingrediente_3cantidad="1"unidad=litro>cerveza</ingrediente_3>
<ingrediente_Xcantidad="..."unidad=litro>...</ingrediente_X>
</ingredientes>
<preparacion>
<paso_1>Conlaayudadeuncuchillofino,hagaincisiones...</paso_1>
<paso_2>Mezcleenunplatolasal,lapimientayelcomino...</paso_2>
<paso_3>Introduzcalosdedosenlosorificiosquehizoconelcuchillo...</paso_3>
<paso_X>...</paso_X>
</preparacion>
</receta>

Comohemoscomentado,estamosusandoetiquetasdiferentesparaidentificarelementosconlasmismascaracteristicas,porlo
quedebemosmantenerelmismonombredelaetiquetaysiquieremosidentificarunanumeracinparalospasosdelareceta,
porejemplo,loharemosconunatributodelasiguienteforma:

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 16/24
2017613 EjemploHTML

<?xmlversion="1.0"encoding="UTF8"?>
<!DOCTYPEreceta>
<receta>
<nombre>Hornado</nombre>
<tipo>PlatoFuerte</tipo>
<ingredientes>
<ingredientecantidad="1">Piernadecerdosinpiel</ingrediente>
<ingredientecantidad="20">Dientesdeajomachacados</ingrediente>
<ingredientecantidad="1"unidad=litro>cerveza</ingrediente>
<ingredientecantidad="..."unidad=litro>...</ingrediente>
</ingredientes>
<preparacion>
<pasoorden="1">Conlaayudadeuncuchillofino,hagaincisiones...</paso>
<paso<code>orden="2">Mezcleenunplatolasal,lapimientayelcomino...
<paso<code>orden="3">Introduzcalosdedosenlosorificiosquehizoconelcuchillo...
<paso>...</paso>
</preparacion>
</receta>

Tambinseraincorrectousarunnicoelementoparatodoslospasosysepararlosporcomas,oparatodoslosingredientes.
Hay que intentar subdividir la informacin en varios elementos de forma que luego pueda ser tratada de forma
individualporotrasaplicaciones.

5.3.2. Atributos.
Las etiquetas pueden tener atributos, que permiten definir propiedades a los elementos de un documento. Los atributos no pueden
organizarse en ninguna jerarqua o estructuras en rbol, no pueden contener ningn otro elemento o atributo, no pueden contener valores
mltiplesynoreflejanningunaestructuralgica.Endefinitiva,losatributosnosepodrnextenderfcilmenteparafuturoscambios.

Unelementopuedetenervariosatributos.Elatributoirentrecomillasdoblesosimples,delasiguienteforma:

...
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 17/24
2017613 EjemploHTML
...

No se debe utilizar un atributo para contener informacin susceptible de ser dividida, deben utilizarse para proporcionar una informacin
adicionalsobreelelemento.

Ejemplobsico
Suponemosquequeremosincluirundatodecalidad,de0a10,aunproducto,loharemoscomoatributo.

<?xmlversion="1.0"encoding="utf8"?>
<catalogo>
<productocalidad="10">
<nombre>Silla</nombre>
</producto>
</catalogo>

Quiereestodecirquenopodremosincluirlocomoelemento?Larespuestaesquesquepodremos,delasiguienteforma:

<?xmlversion="1.0"encoding="utf8"?>
<catalogo>
<producto>
<nombre>Silla</nombre>
<calidad>10</calidad>
</producto>
</catalogo>

Entonces,cmosabersiunapropiedadesmejorindicarlacomoelementoocomoatributo?Larespuestaesquesiempreque
podamos, debemos utilizar elementos, dejando los atributos para informacin correspondiente a metadatos, es decir,
informacinqueaclareinformacinacercadelelementoensuconjunto.Porejemplo,sivamosacrearundocumentocondatos
acercadeunequipo,podramosutilizarlossiguientesatributos:

<?xmlversion="1.0"encoding="utf8"?>
<equipo>
<jugador>
<nombre>Alfredo</nombre>
<demarcacion>Delantero</demarcacion>
<alturaunidad="cm">178</altura>
<pesounidad="kg">80</peso>
</jugador>
</equipo>

Otroejemploconinformacinacercadelosalumnosdeuncentroeducativo:

<?xmlversion="1.0"encoding="utf8"?>
<centro_educativo>
<alumnosexo="Varn"fecha_nacimiento="05/06/1990">
<nombre>Pablo</nombre>
<apellido>Prez</apellido>
<telefonotipo="Mvil">666666666</telefono>
<direcciontipo="Calle">Policar,34</direccion>
</alumno>
</centro_educativo>

Resumimosdiciendoque,engeneral,intentaremosevitarelusodeatributosoprocurarnoabusardeellos.Normalmente
losutilizaremosparametadatosoinformacinquenosearelevanteparalosdatos,porejemplo:Lolo.Sepuedevercomouna

maneradeincorporarcaractersticasopropiedadesaloselementos:EstoesundaquePatxiyJosuvanpaseando....Tambin
sepuedenusarparaespecificarlasunidadesdemedida,porejemplo:178.

Loquesiesrecomendablequeunavezelegidounestilo,mantenerlodentrodetodoeldocumentoXML.

Ejemplo
Acontinuacinunejemploqueusavariosatributos:

<?xmlversion="1.0"encoding="utf8"?>
<!DOCTYPEbiblioteca>
<biblioteca>
<ejemplartipo="libro"isbn="9782746049581"edicion="1"paginas="347">
<titulo>XMLparatodos</titulo>
<editorial>EdicionesEni</editorial>
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 18/24
2017613 EjemploHTML
<editorial>EdicionesEni</editorial>
<autoria>
<autor>SebastienLecomte</autor>
<autor>ThierryBoulanger</autor>
<autorfuncion="traductor">AngelBelinchonCalleja"></autor>
</autoria>
<historial>
<prestamoid="003"inicio="25/09/2015"fin="29/09/2015">GonzaloTerral</prestamo>
<prestamoid="025"inicio="01/10/2015"fin="05/10/2015">RosaYoel</prestamo>
</historial>
</ejemplar>
</biblioteca>

Alabrireldocumentoanteriorenunnavegadorobtenemos:

Elnombredelaetiquetadecadaelementoaparececoloreadoenciruela.
Losnombresdelosatributosennegro.
Losvaloresdecadaatributoenazul.

Comoseobservaenelejemplo,losatributossedefinenydanvalordentrodeunaetiquetadeinicioodeelementovacio,acontinuacindel
nombredelelementoodeladefinicindeotroatributosiempreseparadodeellosporunespacio.Losvaloresdelatributovanprecedidosde
unigualquesiguealnombredelmismoytienenquedefinirseentrecomillassimplesodobles.

Losnombresdelosatributoshandecumplirlasmismasreglasquelosdeloselementos,ynopuedencontenerelcarctermenorque,<.

Autoevaluacin
CulessonloserroresdelsiguientedocumentoXML?

<?XMLversion="1.0"encoding="utf8"?>
<!DOCTYPEbiblioteca>
<biblioteca>
<ejemplartipo='libro'isbn='9782746049581'edicion=paginas='347'>

<titulo>XMLparatodos</titulo>
<editorial>EdicionesEni</editorial>
<autoria>
<autor>SebastienLecomte</autor>
<autor>ThierryBoulanger</autor>
<autorfuncion='traductor'>AngelBelinchonCalleja'></autor>
</autoria>
<historial>
<prestamoid='003'inicio='25/09/2015'fin='29/09/2015'>GonzaloTerral</prestamo>
<prestamoid='025'inicio='01/10/2015'fin='05/10/2015'>RosaYoel
</historial>
</ejemplar>
</biblioteca>

UtilizamaysculasenladefinicindelaversinXML.

Noutilizaelcdigodecaracteresadecuado.

Losvaloresdelosatributosnoestnentrecomillasdobles.

Hayalgnatributovaco.

Laetiquetanoestcerrada.

Seusanguionesenelcontenidodeunatributo.

Mostrarretroalimentacin

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 19/24
2017613 EjemploHTML

6. Documentos XML bien formados.


Sepuedenhablardedocumentos"bienformados"ydocumentos"vlidos",ambossondocumentosXMLcorrectos.

Los documentos bien formados son aquellos que son sintcticamente correctos, es decir, que cumplen con las reglas de creacin de
documentosXMLexpuestasenapartadosprevios,porejemplo,usarcaracteresvlidosparaelnombredeunaetiquetayquelasetiquetas
debencerrarsecorrectamente.

Sin embargo, los documentos vlidos son aquellos que, adems de estar bien formados, cumplen los requisitos de una definicin de
esctructuraqueveremosmsadelante(DTD,XMLSchema,...).

Porlotanto,paraqueundocumentoestbienformado,debenverificarlasreglassintcticasquedefinelarecomendacindelW3Cpara
elestndarXML.Esasnormasbsicasson:

El documento ha de tener definido una declaracin XML en el prlogo: , stos sern los valores por defecto si no se incluye el
prlogo,perorecordamosqueesmuyrecomendableincluirlo,yaquealgunosnavegadoresnosdevolvernerroressinolohacemos.
Existe un nico elemento raz para cada documento: es un solo elemento en el que todos los dems elementos y contenidos se
encuentrananidados.
Loselementosseorganizanentresenestructurajerrquicaynosepermiteelsolapamientodeloselementos.
Hay que cumplir las reglas sintcticas del lenguaje XML para definir los distintos elementos y atributos del documento. Los
resumimosacontinuacin:
El nombre de los elementos pueden tener como primer carcter [AZ], [az] y "_", y para el resto de caracteres, adems de los
citados:[09],""y"."
Lasetiquetasdeaperturaydecierretienenqueseridnticas,XMLessensiblealasmaysculasyminsculas,porloque,por
ejemplo,...seraincorrecto.Recordemosquesepermitenelementosvacos.
Los valores de los atributos se escribirn siempre entre comillas dobles o simples. Si queremos incluir un atributo que
incluyaalgunodeesoscaracteres,sehardelasiguienteforma:":(")y'(').Existenatributosreservadosquenopodremosusar,
salvoparalafinalidadenlaqueestnreservados:"xml:","xml:lang","xml:space:default|preserve"y"xml:id"
LoscomentariosenXMLseescribirnas:

Autoevaluacin

Est"bienformado"elsiguientedocumentoXML?

<destinatario>Vctor</destinatario>
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 20/24
2017613 EjemploHTML
<destinatario>Vctor</destinatario>
<remitente>Fran</remitente>
<asunto>
<contenido>Maanaquedamosparaverelclsico</contenido>
</asunto>

Verdadero Falso

Parasaberms

Vdeoexplicativo

XML: Documento bien formado

DocumentoBienFormado

7. Utilizacin de espacios de nombres en XML.


PermitendefinirlapertenenciadeloselementosylosatributosdeundocumentoXMLalcontextodeunvocabularioXML.Deeste
modoseresuelvenlasambigedadesquesepuedenproduciraljuntardosdocumentosdistintos,dedosautoresdiferentes,quehanutilizado
elmismonombredeetiquetapararepresentarcosasdistintas.

Los espacios de nombres tambin conocidos como name spaces, permiten dar un nombre nico a cada elemento, indexndolos segn el
nombredelvocabularioadecuadoademsestnasociadosaun URIquelosidentificadeformanica.

Eneldocumento,lasetiquetasambiguassesustituyenporotrasenlasqueelnombredelelementoestprecedidodeunprefijo,que
determinaelcontextoalquepertenecelaetiqueta,seguidodedospuntos,estoes:

Estaetiquetasedenomina"nombrecualificado".Aldefinirelprefijohayquetenerencuentaquenosepuedenutilizarespaciosnicaracteres
espacialesyquenopuedecomenzarporundigito.

Antesdepoderutilizarunprefijodeunespaciodenombres,pararesolverlaambigedaddedosomsetiquetas,esnecesariodeclararel
espaciodenombres,esdecir,asociarunndiceconelURIasignadoalespaciodenombres,medianteunatributoespecialxmlns.Estose
haceentreelprlogoyelejemplardeundocumentoXMLysusintaxiseslasiguiente:

://///...

Ejemplo
SeanlosdocumentosXMLqueorganizanlainformacinsobrelosprofesoresylosalumnosdelDAMrespectivamente:

<?xmlversion="1.0"encoding="UTF8"standalone="yes"?>
<!DOCTYPEalumnos>
<alumnos>
<nombre>FernandoFernndezGonzlez</nombre>
<nombre>IsabelGonzlezFernndez</nombre>
<nombre>RicardoMartnezLpez</nombre>
</alumnos>

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

AlhacerundocumentosobrelosmiembrosdelcursoDAMnosedistinguiranlosprofesoresdelosalumnos,pararesolverlo
definiremosunespaciodenombresparacadacontexto:
http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 21/24
2017613 EjemploHTML
definiremosunespaciodenombresparacadacontexto:

<?xmlversion="1.0"encoding="<code>UTF8"standalone="yes"?>
<!DOCTYPEmiembros>
<miembrosxmlns:alumnos=http://DAM/alumnosxmlns:profesores=http://DAM/profesores>
<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><br/></miembros><br/>

Autoevaluacin
Losespaciosdenombrespermiten...

Utilizaretiquetasidnticasparaestructurardistintostiposdeinformacindetexto.
EstructurarlainformacindeundocumentoXMLcuandoprovienedevariosdocumentos.
Asignarvariasetiquetasaunamismainformacin.
Definiretiquetasenotrosdocumentos.

Parasaberms
LosespaciosdenombrestienenunarecomendacinenXML:

http://www.w3.org/TR/RECxmlnames/

Vdeosexplicativos

XML Namespaces: Introduccin XML Namespaces: Cmo se usa

XMLNamespaces:Introduccin XMLNamespaces:Cmoseusa

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 22/24
2017613 EjemploHTML

Anexo I. Videos explicativos.

Parasaberms
A continuacin se indican algunos videos explicativos que pueden ser de utilidad para ampliar o aclarar conceptos bsicos
relacionadosconlaUnidad:

Vdeosexplicativos

XML: Introduccin XML: Mi primer documento XML

XML:Introduccin XML:MiprimerdocumentoXML

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 23/24
2017613 EjemploHTML

http://educacionadistancia.juntadeandalucia.es/cursos/blocks/recopila/recopila.php?id=10438 24/24

Potrebbero piacerti anche