0% encontró este documento útil (0 votos)
19 vistas40 páginas

Lenguajes para El Almacenamiento y Transmisión de Información

El documento aborda los lenguajes de marcado, centrándose en XML y su uso para el almacenamiento y transmisión de información. Se detallan la sintaxis, componentes, restricciones y ejemplos de XML, así como la diferencia entre documentos bien formados y válidos. Además, se mencionan las normas para atributos y el uso de caracteres especiales en XML.

Cargado por

gabriellamegui
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas40 páginas

Lenguajes para El Almacenamiento y Transmisión de Información

El documento aborda los lenguajes de marcado, centrándose en XML y su uso para el almacenamiento y transmisión de información. Se detallan la sintaxis, componentes, restricciones y ejemplos de XML, así como la diferencia entre documentos bien formados y válidos. Además, se mencionan las normas para atributos y el uso de caracteres especiales en XML.

Cargado por

gabriellamegui
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Lenguajes para el

almacenamiento y transmisión de
información

JSON

1
2
Objetivos

● Conocer los tipos de lenguaje para el


almacenamiento y transmisión de información
● Aprender la sintaxis básica y los posibles
componentes de XML
● Diferenciar entre documentos bien formados y
documentos válidos
3 Índice
1. Configuración de Visual Studio Code
2. Tipos de lenguajes
3. XML
4. Etiquetas
5. Elementos
6. Atributos
7. Etiquetas: Restricciones
8. Normas para los atributos
9. Ejemplos de XML
10. Uso de atributos y elementos
11. Caracteres especiales, entidades predefinidas
12. Declaración de documento XML
13. Instrucciones de procesamiento
14. Comentarios y secciones CDATA
15. CSS para XML
16. Documentos bien formados
17. Documentos válidos
4
Configuración de Visual Studio Code

Para trabajar con XML, instalaremos las siguientes extensiones:


5
Tipos de lenguaje de marcado

Un lenguaje de marcado o lenguaje de marcas es una forma de


codificar un documento que, junto con el texto, incorpora
etiquetas o marcas que contienen información adicional acerca
de la estructura del texto o su presentación.
● Marcado de presentación: es aquel que indica el formato
del texto. Lenguajes: RTF
● Marcado de procedimientos: está enfocado a la
presentación del texto, pero es visible para el usuario que
edita el texto.Lenguajes: TeX
● Marcado descriptivo o semántico: utiliza etiquetas para
describir los fragmentos de texto, pero sin especificar
cómo deben ser representados, o en qué orden. Ejemplos
de lenguajes: XML, JSON
6
XML (Extensible Markup Language)
● Orígenes: XML(Extensible Markup Language) proviene de un
lenguaje inventado por IBM en los años 1970, llamado GML
(Generalized Markup Language), que surgió por la necesidad que
tenía la empresa de almacenar grandes cantidades de información y
compartirla en otros SO y plataformas. Este lenguaje gustó a la ISO,
por lo que en 1986 trabajaron para normalizarlo, creando SGML.
○ XML es un subconjunto de SGML.
○ XML es un Metalenguaje que permite definir otros lenguajes
como SVG. MathML...
○ XML es desarrollado por el W3C.
● Usos de XML: Almacenamiento y transferencia de datos
7
XML y la Web
● Poco a poco la Web ha ido empleando tecnologías más
sencillas no basadas en el XML.
● Probablemente el principal motivo del fracaso sea que el
XML, con su exigencia de ausencia de errores en los
documentos, es demasiado estricto para la web.
● Pero aunque la web haya abandonado el XML, el XML se
sigue utilizando en muchos ámbitos especializados para
el almacenamiento y transmisión de la información.
8 XML: Etiquetas

● Etiqueta (tags o marcas)


○ Compuesta por el símbolo menor (‘<’), un texto
y el símbolo mayor (‘>’)
○ Hay etiquetas de inicio y de cierre. El nombre
de las etiquetas debe coincidir y estar escrito
exactamente igual (respetando mayúsculas y
minúsculas).
○ Hay etiquetas vacías (SIN contenido).
9
¿Qué es un elemento?

Los elementos constan de etiqueta de inicio,


etiqueta de fin y el contenido (que se encuentra
entre ambas etiquetas).

Tipos de elementos:
■ Simple
■ Compuesto (contiene elementos hijos)
■ Vacío (NO tiene contenido), pero sí puede
contener atributos.
10 Ejemplos de elementos

● Elemento con contenido tipo texto:


<nombre>Maite</nombre>
● Elemento vacío: <color />
● Elemento con contenido de tipo texto y atributos:
○ <nombre anyo="2001">Maite</nombre>
● Elemento que contiene otros elementos hijos:
○ <correo>
<De>Jaime</De>
<para>Sandra</para>
<asunto>Felicidades</asunto>
</correo>
● Elemento vacío con atributo:
○ <color código="AB34FF"/>
11
Atributos

○ Dupla nombre-valor
○ Indican propiedades de los elementos
○ Se encuentran dentro de la etiqueta de inicio
○ El valor debe ir entre comillas
○ Valor obligatorio

○ Ej: <alumno id="25">Pepe</alumno>


12
Etiquetas: Restricciones I

● Los nombres de todos los elementos son case sensitive


(sensible a mayúsculas/minúsculas) y deben cumplir las
siguientes restricciones:
○ El primer carácter tiene que ser una letra o un guión
bajo “_” .
○ El nombre solo puede contener letras (con o sin tilde),
números, puntos “.”, guiones medios “-” , guiones bajos
“_” y dos puntos “:”.
○ Tal y como indica el punto anterior, pueden contener el
carácter dos puntos “:”. No obstante su uso se reserva
para definir espacios de nombres.
13
Etiquetas: restricciones II

● Además, los nombres de las etiquetas NO


pueden contener ningún carácter de
espaciado y ningún otro carácter de los ya
citados.
14
Ejemplos incorrectos
1. <apellido>Pérez</Apellido>
2. </propietario>root<propietario>
3. <xrefKey>
4. <_fechamodificación>
5. <2key>P%asFAGr!·”</2key>
6. <.calle>1</.calle>
7. <!puntuación></!puntuación>
8. < ciudad>Burgos</ciudad>
9. <dia>23</día>
10. <mes>4<mes/>
11. <alumno><nombre>Myriam</alumno></nombre>
12. <color favorito>azul</Color favorito>
15
Normas para los atributos

● Los identificadores de los atributos se forman de la misma


manera que los identificadores de los elementos.
● El valor de los atributos siempre irá entrecomillado: Bien con
comillas dobles o simples.
● Nunca se repetirá el nombre de un atributo dentro del
mismo elemento.
● Los atributos siempre se incluyen en la etiqueta de inicio.
● Los atributos no pueden contener otros elementos o
atributos.
16
Atributos - Ejemplos incorrectos

<alumno id="532" id="345">


<nombre>Pablo</nombre>
<apellido>Pérez</apellido>
<fecha día=22 mes='10" 1año='1985' />
</alumno> …

<!-- En la etiqueta de inicio de un elemento no puede haber dos


atributos con el mismo nombre.
Aplicar las reglas de definición de los elementos a los nombres
de los atributos -->
17
Ejemplos de XML (I)

<noticia>
<lugar>Majadahonda</lugar>
Este ejemplo es un
<fecha>21/01/2025</fecha>
documento bien
formado y por este <evento>
motivo se visualiza Comenzamos el estudio de XML
en el navegador de </evento>
forma correcta. </noticia>

Observa que:
● Hay un único nodo raíz.
● Todas los elementos están correctamente anidados.
● No hay errores en los nombres de etiquetas.
18
Ejemplos XML (II)

<noticias> ATRIBUTO
<noticia>
<lugar>Alcobendas</lugar>
<evento fecha="12/01/2024">
Comenzamos el estudio de XML
</evento>
<noticia>
<noticia>
<lugar>...</lugar>
<evento fecha="07/05/2024">
….
</evento>
</noticia> ELEMENTOS (etiqueta
…. de inicio con sus
</noticias> atributos+contenido+
etiqueta fin)
19
Uso de los atributos
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<mensajes>
<nota ID="001">
<para>Elisa</para> En este ejemplo, el
atributo ID es un
<de>Pedro</de>
contador de mensajes.
<titulo>Recordatorio</titulo> No una parte de los
<cuerpo>No olvides nuestra cita!</cuerpo> datos.
</nota> La información que
<nota ID="002"> contiene es lo que se
<para>Juan</para> denomina
<de>Francisco</de> metainformación
(información sobre la
<titulo>Cita</titulo>
información).
<cuerpo>Quedamos a comer en el Restaurante de
abajo.</cuerpo>
</nota>
</mensajes>
20
Ejemplos de XML (II)

<alumno>
<nombre>Pablo</nombre>
<apellido>Pérez</apellido>
<tlf>689689689</tlf>
<dirección></dirección>
<matricula>
<programacion />
<bases_datos convocatorias="4" />
<matricula>
</alumno>
21 Uso de atributos

<alumno fechaNacimiento="22/10/1985">
<nombre>Pablo</nombre>
<apellido>Pérez</apellido>
<tlf tipo="movil">689 689 689</tlf>
<tlf tipo="casa">981 99 99 41</tlf>
<dirección></dirección> Los atributos también
<varon /> se utilizan para
</alumno> distinguir entre
elementos del mismo
nombre, nos aportan
más detalle en la
información.
22
Elementos y Atributos

El dato será un elemento si cumple alguna de las siguientes


condiciones:
● Se emplean para representar jerarquías o contenido de
unos elementos dentro de otros.
● Su valor cambia frecuentemente.
● Su valor va a ser mostrado al usuario.
● Pueden tener atributos.
● Puede haber múltiples ocurrencias de un elemento.
Los casos en los que el dato será un
23
atributo son:

● Van asociados a los elementos.


● Son modificadores de la información.
● El orden en el que aparecen dentro del elemento al
que van asociados no es representativo.
● No se pueden extender con otros elementos
contenidos en su interior.
● No pueden haber múltiples ocurrencias dentro de un
mismo elemento.
24
Más ejemplos
<clase>
<alumno id="532">
<nombre>Pablo</nombre>
<apellido>Pérez</apellido>
<fechaNacimiento>22/10/1995</fechaNacimiento>
</alumno>
<alumno id="289">
<nombre>Alicia</nombre>
<apellido>Ávarez</apellido>
<fechaNacimiento>01/11/2001</fechaNacimiento>
</alumno>
...
</clase> Etiqueta de cierre del nodo raíz
Caracteres especiales en XML -
25
Entidades

● En XML algunos símbolos están reservados para el


lenguaje. Es necesario utilizar una alternativa
● símbolo & seguido por una "palabra clave" y terminado
con punto y coma
● ej: "&lt;" sería equivalente a "<"
26
Caracteres especiales: ejemplo

● La siguiente línea generaría un error:


<instrucciones>
Los caracteres < y & no pueden escribirse si no es
como comienzo de marcas
</instrucciones>

● Modo correcto, se visualiza sin errores en el navegador.


<instrucciones>
Los caracteres &lt; y &amp; no pueden escribirse si
no es como comienzo de marcas
</instrucciones>
Caracteres especiales: Entidades
27
predefinidas

Entidad Significado Carácter

&quot; Comilla doble "

&amp; Símbolo del ampersand &

&apos; Comilla simple '

&lt; Símbolo menor que <

&gt; Símbolo mayor que >

Son las comillas RECTAS (del bloc de notas).


28
Prólogo o declaración de XML

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

● La línea anterior se denomina prólogo o declaración de XML.

● No es necesaria para que el documento esté bien formado ni sea


válido. Sin embargo, es conveniente incluirla al principio del
documento.
● Permite indicar la versión y la codificación empleada en el
documento.
● Aunque empieza por <?, NO es una instrucción de
procesamiento.
29
Instrucciones de procesamiento

● Comienzan con <? y terminan con ?>


● Usos:
○ Definir hojas de estilo
<?xml-stylesheet href="ruta_archivo.css"
type="text/css" ?>
○ Especificar la hoja de estilo XSLT para aplicar
transformaciones al documento.
○ Declarar espacios de nombres.
○ Definir el esquema que nos permite VALIDAR el
documento.
30
Comentarios

● Utilizados para documentar (comentarios internos)


<!-- Comentario válido en XML -->
Los comentarios pueden estar en cualquier posición
EXCEPTO:
○ Antes del prólogo o declaración de XML.
○ Dentro de una etiqueta.
31
Secciones CDATA

○ Permiten marcar un texto para que no sea


procesado por el analizador o parser.
○ Permite especificar datos, utilizando cualquier
carácter, especial o no, sin que se interprete como
marcado XML.
○ Posible uso: tutoriales, depuración…etc.
32
Secciones CDATA
<?xml version="1.0" encoding="UTF-8"?>
<formula>
<![CDATA[ 4<5
]]>
</formula>

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


<exampleOfACDATA>
<![CDATA[
Since this is a CDATA section
I can use all sorts of reserved characters
like > < " and & or write things like <foo></bar>
but my document is still well formed!
]]>
</exampleOfACDATA>
33
Ejemplos de documentos XML

Fuente: https://datos.lorca.es/catalogo/monumentos/monumentos.xml
34
Ejemplos de documentos XML

Fuente: https://www.esmadrid.com/opendata/agenda_v1_es.xml
35
Documentos XML bien formados

● Aquellos que son sintácticamente correctos según las


reglas mencionadas anteriormente
○ Etiquetas de inicio y fin
○ case sensitive
○ Caracteres especiales
○ ...
● Un documento XML Debe tener un único elemento
raíz
36
Documentos XML válidos

● Aquellos que, además de estar bien formados,


cumplen los requisitos de una definición de
estructura
○ Definición de Tipo de Documento (DTD)
○ Esquemas
○ Los veremos en siguientes temas

No es lo mismo bien formado que válido.

Recuerda: Para que un documento sea válido, lo primero es que


esté BIEN FORMADO y si además, cumple las especificaciones de
una DTD o un Esquema, entonces también será válido.
37
CSS para XML

● Podemos aplicar hojas de estilo CSS para visualizar los


documentos XML a través de la instrucción de
procesamiento:

<?xml-stylesheet href="ruta_archivo.css"
type="text/css" ?>
Importante: En CSS uso de la propiedad display para
visualizar los elementos en bloque (block), inline, list-item,
tabla, flex...
38
Referencias
Tutoriales sobre xml:
● https://www.mclibre.org/consultar/xml/index.html
● https://www.w3schools.com/xml/default.asp

Editores de código XML


● Visual Studio Code: https://code.visualstudio.com/
● XML Copy Editor: http://xml-copy-editor.sourceforge.net/
○ Tenéis un pequeño tutorial de uso en McLibre.
● GNU Emacs: https://www.gnu.org/software/emacs/
● QXmlEdit: http://qxmledit.org/index.html
Analizadores online:
● https://www.xmlvalidation.com/
● https://validator.w3.org/#validate_by_input
39
Ejemplos reales
1. Accede al Portal de datos abiertos del Ayuntamiento de
Madrid:
➢ https://datos.madrid.es/portal/site/egob

1. Accede a Catálogo de Datos y observa los formatos de


descarga que ofrecen. Por ejemplo:

➢ En XML:
○ https://datos.madrid.es/egob/catalogo/300261
-0-agenda-actividades-deportes.xml

➢ En JSON:
○ http://datos.madrid.es/egob/catalogo/206717-
0-agenda-eventos-bibliotecas.json
40
Ejemplos reales
https://datos.madrid.es/egob/catalogo/api

También podría gustarte