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

Post on 11-Feb-2016

46 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

22/04/2322/04/23 11

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

Eduardo PeisEduardo PeisUniversidad de GranadaUniversidad 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

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>

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)

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

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)

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

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

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

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>

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

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

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

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

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>

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>

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

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

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

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

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

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

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

top related