Bloque II. Tema 9. Lenguajes de marca o etiqueta. Características y funcionalidades. SGML, HTML, XML y sus derivaciones. Lenguajes de script

SGML

https://secure.wikimedia.org/wikipedia/en/wiki/Standard_Generalized_Markup_Language

Definido en el estándar ISO 8879:1986. SGML es parte de un trio de estándares ISO para los documentos electrónicos:

SGML define dos tipos de validez:

XML y sus derivaciones

El principal recurso de XML es http://www.w3.org/standards/xml/. Suelen gustar al tribunal las preguntas sobre tecnologías XML relativamente desconocidas y he visto una de VoiceXML, pero eso va en el tema 12 del Bloque II.

 

     

La declaración XML:

<?xml version =”1.0” encoding=”ISO-8859-1”?>

Un DTD o referencia a uno, que es opcional:

<!DOCTYPE agenda SYSTEM “agenda.dtd”>

Instrucciones de procesamiento:

<?xml-stylesheet type=”text/css” href=”xmlstyle.css”?>

Texto 1: Estructura básica de un documento XML

 

Elementos auxiliares de XML

Tecnologías relacionadas: XLST, XSL-FO y XPath, que ya se para lo que son. Otras:

 

XMLSchema

SAML

Security Assertion Markup Language es un estándar abierto basado en XML para intercambiar datos de autenticación y autorización entre dominios de seguridad, es decir, mediante un proveedor de identidad (un productor de asertos) y un proveedor de servicio (un consumidor de asertos). Es un producto del comité técnico OASIS (Organization for the Advancement of Structured Information Standards) para servicios de seguridad.

Se constituye encima de otros estándares existentes:

XML Signature

La estructura básica:

       

<Signature>

  <SignedInfo>

    <CanonicalizationMethod />

    <SignatureMethod />

    <Reference>

       <Transforms>

       <DigestMethod>

       <DigestValue>

    </Reference>

    <Reference /> etc.

  </SignedInfo>

  <SignatureValue />

  <KeyInfo />

  <Object />

</Signature>

Es más flexible que otros formatos como PGP o Cryptographic Message Syntax porque no opera sobre datos binarios si no en el conjunto de datos XML, permitiendo trabajar sobre subconjuntos de datos. Otro concepto clave es la canonicalization, es decir, firmar solo el contenido esencial, eliminando diferencias sin sentido como espacios en blanco o finales de línea.

XAdES

XML Advanced Electronic Signatures es un conjunto de extensiones para XML-DSig haciéndolo utilizable para firmas electrónicas avanzadas. Los documentos firmados electrónicamente pueden permanecer válidos durante largo tiempo, incluso si los algoritmos criptográficos se rompen.

Esquema

Referencia: http://www.w3.org/standards/xml/schema

DTD

Descripción de estructura y sintaxis de un documento XML o SGML.

       

<!ELEMENT lista_de_personas (persona*)>

<!ELEMENT persona(nombre, fechanacimiento?, sexo?, numeroseguridadsocial?)>

<!ELEMENT nombre (#PCDATA) >

<!ELEMENT fechanacimiento (#PCDATA) >

<!ELEMENT sexo (#PCDATA) >

<!ELEMENT numeroseguridadsocial (#PCDATA) >

Texto 2: Ejemplo sencillo de DTD

 
       

<?xml version=”1.0” encoding=”ISO-8859-1”?>

<!DOCTYPE lista_de_personas SYSTEM “ejemplo.dtd”>

<lista_de_personas>

  <persona> ...

Texto 3: Haciendo uso del DTD en un doc XML

 

Como limitaciones, no es posible definir elementos que sean válidos solo dentro de unos determinados elementos -anidados- pero no dentro de otros. Además no se puede afinar el tipo de datos que debe tener un elemento.

PCDATA significa Parsed Character Data. Es texto que será analizado por el analizador o parser. El texto será analizado en busca de entidades y etiquetas. Las etiquetas serán consideradas marcado válido y las entidades serán expandidas.

CDATA significa Character Data. Es texto que no será analizado.

En el DTD podemos declarar un elemento:

En cuanto al contenido:

En cuanto a la multiplicidad:

Declarar los atributos es un poco especial, no declarándolos directamente según vamos declarando los elementos.

     

<!ATTLIST element-name attribute-name attribute-type default-value>

Ejemplo:

<!ATTLIST payment type CDATA “check”>

Usándolo:

<payment type=”check”>

Tipos de atributo:

 

XBRL

La norma XBRL (Extensible Business Reporting Language) nace para simplificar la automatización del intercambio de información financiera mediante el uso de lenguaje XML.

MathML

Permite presentar, manipular y publicar expresiones matemáticas en la web. Si se desarrolla correctamente una expresión en MathML, ésta podrá ser evaluada mediante un sistema automático, presentanda en un navegador y ser manipulada por un procesador de textos, además de poder imprimirse. Existen dos posibilidades:

Entre otras funcionalidades, permite ampliar imágenes, leer en voz alta ecuaciones o presentarlas en Braille. También proporciona a los productos de apoyo síntesis de voz de forma directa con matices de ritmo, énfasis y entonación, para su adecuada comprensión.

RDF

Resource Description Framework. Lenguaje orientado a facilitar el procesamiento de información entre aplicaciones que intercambian información comprensible para las páginas web. El funcionamiento se resumen en una conversión de recursos de la web en expresiones compuestas que se estructuran en tres partes:

A partir del RDF surge el RSS, que es un vocabulario RDF para la distribución automatizada de titulares de noticias y contenidos de sitios web.

SMIL

Synchronized Multimedia Integration Language. Presentaciones multimedia. Permite sincronizar texto, audio y video en diferentes combinaciones y permite tener un control absoluto sobre las presentaciones multimedia, describiendo el contenido que debe aparecer, en qué momento y en qué parte de la pantalla debe hacerlo.

HTML

A continuación se indican los cambios más notables que tienen lugar en XHTML 2.0:

Aun así no hay que hacerle mucho caso porque ya se volcaron en HTML 5 que tiene algunas cosas parecidas pero parece ser que dará el campanazo.

El último borrador de HTML5 ha sido publicado el 4 de Marzo de 2010, sin embargo, la posibilidad de que se convierta en una recomendación a corto plazo no se contempla. Ventajas: