metalenguajes descriptivos: introducción a sgml eduardo peis universidad de granada

23
21/06/22 21/06/22 1 Metalenguajes descriptivos: Metalenguajes descriptivos: Introducción a SGML Introducción a SGML Eduardo Peis Eduardo Peis Universidad de Granada Universidad de Granada

Upload: adonai

Post on 11-Feb-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad de Granada. SGML (ISO 8879-1986) – Standard Generalized Markup Language. Punto de partida: la edición electrónica El procesamiento de textos WYSIWYG Lenguajes de etiquetado Procedimentales: Troff / TeX / LaTeX … - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 11

Metalenguajes descriptivos: Metalenguajes descriptivos: Introducción a SGMLIntroducción a SGML

Eduardo PeisEduardo PeisUniversidad de GranadaUniversidad de Granada

Page 2: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 22

SGML (ISO 8879-1986) – Standard SGML (ISO 8879-1986) – Standard Generalized Markup LanguageGeneralized Markup Language

Punto de partida: la edición electrónicaPunto de partida: la edición electrónica• El procesamiento de textosEl procesamiento de textos• WYSIWYGWYSIWYG

Lenguajes de etiquetadoLenguajes de etiquetado• Procedimentales: Procedimentales: Troff / TeX / LaTeX…Troff / TeX / LaTeX…• Descriptivos: SCRIBE / GMLDescriptivos: SCRIBE / GML

SGMLSGML• Etiquetado generalizadoEtiquetado generalizado

Separa formato de estiloSepara formato de estilo Independiente de plataformas y sistemasIndependiente de plataformas y sistemas

• Etiquetado descriptivoEtiquetado descriptivo• Tipos de documentosTipos de documentos• Independencia de los datosIndependencia de los datos

Page 3: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 33

ELEMENTOSELEMENTOS

<Generic Identifier>............</Generic Identifier> <nombre>...........................</nombre> <GI>.............TEXTO (#PCDATA)..............</GI> <GI>...........OTROS ELEMENTOS............</GI> <GI><GI1>...TEXTO (#PCDATA)...</GI1></GI>

<GI>.........................NADA.......................</GI>  <mensaje> <autor>Eduardo Peis</autor> <texto>Este es un mensaje de inicio</texto></mensaje>

Page 4: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 44

<antologia>

<poema><titulo>La canción del pirata</titulo>

<estrofa>

<linea>Con diez cañones por banda</linea>

<linea>viento en popa a toda vela</linea>

<linea>no corta el mar sino vuela</linea>

<linea>un velero bergantín</linea>

</estrofa>

<estrofa>

<linea>Bajel pirata le llaman</linea>

<linea>por su bravura el temido</linea>

<linea>por todo el mar conocido</linea>

<linea>del uno a otro confín</linea>

</estrofa>

</poema> 

<!-- más poemas aquí --> </antologia>

MODELO DE DOCUMENTO (document instance)

Page 5: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 55

<antologia>

<poema><titulo>La canción del pirata

<estrofa>

<linea>Con diez cañones por banda

<linea>viento en popa a toda vela,

<linea>no corta el mar sino vuela

<linea>un velero bergantín

<estrofa>

<linea>Bajel pirata le llaman

<linea>por su bravura el temido

<linea>en todo el mar conocido

<linea>del uno al otro confín. 

<poema><titulo>La esfera rota

<!-- más poemas aquí --> </antologia>

MINIMIZACIÓN

Page 6: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 66

Aquí aparecería el denominado “prólogo” SGML

<!DOCTYPE antologia [<!ELEMENT antologia - - (poema+)><!ELEMENT poema - O (titulo?, estrofa+)><!ELEMENT titulo - O (#PCDATA) ><!ELEMENT estrofa - O (linea+) ><!ELEMENT linea

- O (#PCDATA) >

]>

Aquí vendría un documento etiquetado(document instance) según el anterior DTD

DOCUMENT TYPE DEFINITION (DTD)

Page 7: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 77

<!ELEMENT pareado O O (linea1, linea2)>

<!ELEMENT (linea | linea1 | linea2) O O (#PCDATA) >

<!ELEMENT poema - O (titulo?, (estrofa+ | pareado+ | linea+) ) >

<!ELEMENT poema - O (titulo?, (estrofa | pareado | linea)+ ) >

ACLARACIONES (DECLARATION) DE ELEMENTOS

Page 8: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 88

<!ELEMENT estribillo - - (#PCDATA | linea+)><!ELEMENT poema - O (titulo?,( (linea+) |

(estribillo?, (estrofa, estribillo?)+ ) )) >

USO DE PARÉNTESIS EN LOS MODELOS DE CONTENIDO

Page 9: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 99

<!ELEMENT (nota | variante) - - (#PCDATA)>

<!ELEMENT poema - O (titulo?, (estrofa+ | pareado+ | linea+) )+(nota | variante) >

<!ELEMENT titulo - O (#PCDATA) -(note | variant) >

<!ELEMENT (note | variant) - - (#PCDATA) -(note | variant) >

EXCEPCIONES (EXCLUSIÓN E INCLUSIÓN) AL MODELO DE CONTENIDO

Page 10: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1010

<!ATTLIST poema id ID

#IMPLIED estado (borrador | revisado | publicado) “borrador” >

<!ATTLIST poema id ID

#IMPLIED estado (borrador | revisado | publicado) #CURRENT

>

<poema id="P1" estado="borrador">... </poema>

ATRIBUTOS

DECLARACIONES DE ATRIBUTOS

<!ATTLIST poema

estado (borrador | revisado | publicado) #REQUIRED>

Page 11: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1111

<!ATTLIST poema id ID

#IMPLIED ><POEMA id="La canción del pirata">Texto del poema con identificador "La canción del pirata"</POEMA>

<POEMA id="P40">

Texto del poema con identificador "P40"</POEMA>

<POEMA>

Este poema no tiene identificador</POEMA>

ATRIBUTOS

Page 12: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1212

<!ELEMENT refpoema - O EMPTY><!ATTLIST refpoematarget IDREF #REQUIRED >

... el poema de Espronceda La canción del pirata <refpoema target="La canción del pirata">...

ATRIBUTO REFERENCIA

Page 13: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1313

<!ENTITY lcp "La canción del pirata">El poema &lcp; es mú gonico<!ENTITY Capítulo Dos SYSTEM "/mis doc~/sgml/cap2.txt">

<!ENTITY arroba “@">

<!ENTITY arroba "&#46;" >

… No era posible que a&#46;uásemos...

<!DOCTYPE texto [<!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”>%elemento-epr; ]>

ENTIDADES

Page 14: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1414

<!DOCTYPE mi2 SYSTEM "mi2.dtd" [

<!ENTITY atl "Acrónimos de Tres Letras">

<!ELEMENT mi.tag - - (#PCDATA)>

<!-- cualquier otra aclaración o redefinición debe ir aquí -->]

]>

<mi.2>

Este es un ejemplo de un tipo de documento mi.2 modificado que

puede contener <mi.tag>mis etiquetas especiales</mi.tag> y

referencias a mis entes normales como &atl;

</mi.2>

DECLARACION DE TIPO DE DOCUMENTO

Page 15: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1515

<!DOCTYPE mi.dtd [

<!-- aquí van todas las aclaraciones de mi.dtd -->...]><mi.dtd>

Este es un ejemplo de un tipo de documento que responde a mi.dtd </mi.dtd>

<!DOCTYPE mi SYSTEM "mi.dtd" ><mi.2>Este es un ejemplo (mi.2) de un tipo de documento que se corresponde con el DTD mi.dtd</mi.2>

Page 16: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1616

<!DOCTYPE mi.2 system “mi.2.dtd” [

<!ENTITY cap1 SYSTEM "cap1.txt">

<!ENTITY cap2 SYSTEM "cap2.txt">

<!ENTITY cap3 "-- no escritas aún --">]><mi.2><miEncabezado> ... </miEncabezado><texto>

<preliminar> ... </preliminar>

<cuerpo>

&cap1;

&cap2;

&cap3;

...

</cuerpo></texto></mi.2>

Page 17: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1717

<!sgml “ISO 8879:1986” charset baseset “ISO 646-1983//charset International Reference Version (IRV)//ESC 2/5 4/0”...><!doctype biblioteca system “c:/sgml/biblioteca.dtd”>

DECLARACIÓN SGML

Page 18: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1818

SGML: sintaxis básica (1) modelo de SGML: sintaxis básica (1) modelo de documentodocumento<!SGML “ISO 8879:1986” charset baseset “ISO 646-1983//charset International Reference Version (IRV)//ESC 2/5 4/0”><!DOCTYPE biblioteca system “c:/sgml/biblioteca.dtd”> <biblioteca> <!-- comienzo del registro de un libro --><libro><titulo>Los corsarios vacilantes</titulo><autor>Pompeyo Mañas

<email>pomp&#46;mcu.es</email></autor><editorial>Labor</editorial><cubierta tipo=”blanda”></cubierta><categoría clase=”noficción”></categoría><isbn>84-045-87498-0</isbn><nota número=”5”></nota><comentarios>Libro reservado</comentarios></libro><!– más registros aquí --></biblioteca>

declaración SGML

tipo de documento

entidad de sistema

elementos

contenido(#PCDATA) comentarios SGML

atributos

referencia de entidad

Page 19: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 1919

SGML: sintaxis básica (2) DTD –Document SGML: sintaxis básica (2) DTD –Document Type Definition-Type Definition-

<!DOCTYPE biblioteca [<!ENTITY @ “&#46;”><!ELEMENT biblioteca - - (libro+)><!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría, isbn, nota, comentarios?)><!ELEMENT título – O (#PCDATA)><!ELEMENT autor – O (#PCDATA, email)><!ELEMENT email – O (#PCDATA)><!ELEMENT editorial – O (#PCDATA)><!ELEMENT cubierta – O EMPTY><!ATTLIST cubierta

tipo (blanda | dura) “blanda”><!ELEMENT categoría – O EMPTY><!ATTLIST categoría

clase (ficción | fantasía | cficción | misterio | terror | noficción | histórico | biografía) “ficción” >

<!ELEMENT isbn – O (#PCDATA)><!ELEMENT nota – O EMPTY><!ATTLIST nota

número (1 | 2 | 3 | 4 | 5) #REQUIRED><!ELEMENT comentarios – O (#PCDATA)>]>

declaración de tipo de documento

declaraciones de elementos

declaraciones de listas de atributos

declaración de entidad

Page 20: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 2020

SGML: sintaxis básica (2.1) declaración de SGML: sintaxis básica (2.1) declaración de elementoselementos

Indicadores de aparición

<!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría, isbn, nota, comentarios?)>

reglas de minimizaciónmodelo de contenido

conectoresidentificador genérico

clave SGML

EMPTY elemento vacío#PCDATA cualquier cadena de caracteres

en cualquier ordenen cualquier orden&&o uno o el otroo uno o el otro||ambos y en ese ordenambos y en ese orden,,

conectores

Opcional y repetible (0 o Opcional y repetible (0 o más veces)más veces)**opcional (0 o 1 vez)opcional (0 o 1 vez)??

necesario y repetible (1 o necesario y repetible (1 o más veces)más veces)++

indicadores de aparición minimización

opcionalopcionalooobligatoria etiquetaobligatoria etiqueta--

1ª posición etiqueta inicio2ª posición etiqueta fin

claves SGML para modelos de contenido

Page 21: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 2121

SGML: sintaxis básica (2.2) declaraciones SGML: sintaxis básica (2.2) declaraciones de lista de atributosde lista de atributos

especificadoespecificadodefaultdefault

último especificadoúltimo especificado#CURRENT#CURRENT

opcionalopcional#IMPLIED#IMPLIED

obligatorioobligatorio#REQUIRED#REQUIRED

caracteres numéricoscaracteres numéricos

cualquier cadena de caracterescualquier cadena de caracteres

datos de caracteres no analizablesdatos de caracteres no analizables

puntero a algún otro elementopuntero a algún otro elemento

identificador únicoidentificador único

NUMBERNUMBER

NMTOKENNMTOKEN

CDATACDATA

IDREFIDREF

IDID

<nombre nacionalidad=“SP” sexo=“V”>Eduardo Peis</nombre>nombre de atributo valor de atributo

<!ATTLIST nombrenacionalidad (AU | AS | BG |…| SP | NZ) “SP”sexo (V | H) #REQUIRED>

elemento al que cualifican nombre de atributo AttrName

posibles valores AttrType

valor por defecto Default

Page 22: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 2222

SGML: sintaxis básica (2.3) declaraciones SGML: sintaxis básica (2.3) declaraciones de entidadesde entidades

<!DOCTYPE texto [<!ENTITY lfp “liga de fútbol profesional”>]><texto>el hecho fue estudiado por la &lfp; en previsión de posibles sanciones</texto>

entidad general interna

<!ENTITY miscosas SYSTEM “http://www.ugr.es/~epeis/miscosas.sgm”>

general externa analizada

<!ENTITY logo SYSTEM “http://www.ugr.es/~epeis/logo.gif”> no analizada

<!DOCTYPE texto [<!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”>%elemento-epr; ]>

de parámetro

<!ENTITY @ “&#46;”> de carácter

““&quot;&quot;‘‘&apos;&apos;>>&gt;&gt;<<&lt;&lt;&&&amp;&amp;

entidades predefinidas

Page 23: Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad  de Granada

22/04/2322/04/23 2323

SGML: softwareSGML: software

Parsers Parsers analizadoresanalizadores Editores / procesadoresEditores / procesadores FormateadoresFormateadores ConversoresConversores Gestión de datosGestión de datos

Es tal la potencialidad de SGML que no es posible su explotación con el software de red

disponible en la actualidad