La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad de Granada 29/11/2018.

Presentaciones similares


Presentación del tema: "Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad de Granada 29/11/2018."— Transcripción de la presentación:

1 Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad de Granada
29/11/2018

2 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… Descriptivos: SCRIBE / GML SGML Etiquetado generalizado Separa formato de estilo Independiente de plataformas y sistemas Etiquetado descriptivo Tipos de documentos Independencia de los datos 29/11/2018

3 ELEMENTOS <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> 29/11/2018

4 MODELO DE DOCUMENTO (document instance)
<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> <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> </poema> <!-- más poemas aquí --> </antologia> 29/11/2018

5 <poema><titulo>La canción del pirata <estrofa>
MINIMIZACIÓN <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 <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> 29/11/2018

6 DOCUMENT TYPE DEFINITION (DTD)
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 29/11/2018

7 ACLARACIONES (DECLARATION) DE ELEMENTOS
<!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)+ ) > 29/11/2018

8 USO DE PARÉNTESIS EN LOS MODELOS DE CONTENIDO
<!ELEMENT estribillo - - (#PCDATA | linea+)> <!ELEMENT poema - O (titulo?,( (linea+) | (estribillo?, (estrofa, estribillo?)+ ) )) > 29/11/2018

9 EXCEPCIONES (EXCLUSIÓN E INCLUSIÓN) AL MODELO DE CONTENIDO
<!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) > 29/11/2018

10 DECLARACIONES DE ATRIBUTOS
<poema id="P1" estado="borrador">... </poema> DECLARACIONES DE ATRIBUTOS <!ATTLIST poema id ID #IMPLIED estado (borrador | revisado | publicado) “borrador” > <!ATTLIST poema estado (borrador | revisado | publicado) #REQUIRED> <!ATTLIST poema id ID #IMPLIED estado (borrador | revisado | publicado) #CURRENT > 29/11/2018

11 <POEMA id="La canción del pirata">
<!ATTLIST poema id ID #IMPLIED > ATRIBUTOS <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> 29/11/2018

12 <!ELEMENT refpoema - O EMPTY> <!ATTLIST refpoema
ATRIBUTO REFERENCIA <!ELEMENT refpoema - O EMPTY> <!ATTLIST refpoema target IDREF #REQUIRED > ... el poema de Espronceda La canción del pirata <refpoema target="La canción del pirata">... 29/11/2018

13 <!ENTITY lcp "La canción del pirata">
ENTIDADES <!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 "." > … No era posible que a.uásemos... <!DOCTYPE texto [ <!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”> %elemento-epr; ]> 29/11/2018

14 DECLARACION DE TIPO DE DOCUMENTO
<!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> 29/11/2018

15 <!-- aquí van todas las aclaraciones de mi.dtd --> ... ]>
<!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> 29/11/2018

16 <!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> 29/11/2018

17 <!doctype biblioteca system “c:/sgml/biblioteca.dtd”>
DECLARACIÓN SGML <!sgml “ISO 8879:1986” charset baseset “ISO //charset International Reference Version (IRV)//ESC 2/5 4/0”...> <!doctype biblioteca system “c:/sgml/biblioteca.dtd”> 29/11/2018

18 SGML: sintaxis básica (1) modelo de documento
declaración SGML <!SGML “ISO 8879:1986” charset baseset “ISO //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 < >pomp.mcu.es</ > </autor> <editorial>Labor</editorial> <cubierta tipo=”blanda”></cubierta> <categoría clase=”noficción”></categoría> <isbn> </isbn> <nota número=”5”></nota> <comentarios>Libro reservado</comentarios> </libro> <!– más registros aquí --> </biblioteca> tipo de documento entidad de sistema contenido (#PCDATA) comentarios SGML elementos referencia de entidad atributos 29/11/2018

19 SGML: sintaxis básica (2) DTD –Document Type Definition-
<!DOCTYPE biblioteca [ “.”> <!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, )> <!ELEMENT – 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 29/11/2018

20 SGML: sintaxis básica (2.1) declaración de elementos
<!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría, isbn, nota, comentarios?)> reglas de minimización modelo de contenido conectores identificador genérico clave SGML Indicadores de aparición EMPTY elemento vacío #PCDATA cualquier cadena de caracteres en cualquier orden & o uno o el otro | ambos y en ese orden , conectores Opcional y repetible (0 o más veces) * opcional (0 o 1 vez) ? necesario y repetible (1 o más veces) + indicadores de aparición minimización opcional o obligatoria etiqueta - 1ª posición etiqueta inicio 2ª posición etiqueta fin claves SGML para modelos de contenido 29/11/2018

21 SGML: sintaxis básica (2.2) declaraciones de lista de atributos
nombre de atributo valor de atributo <nombre nacionalidad=“SP” sexo=“V”>Eduardo Peis</nombre> elemento al que cualifican posibles valores AttrType valor por defecto Default nombre de atributo AttrName <!ATTLIST nombre nacionalidad (AU | AS | BG |…| SP | NZ) “SP” sexo (V | H) #REQUIRED> caracteres numéricos cualquier cadena de caracteres datos de caracteres no analizables puntero a algún otro elemento identificador único NUMBER NMTOKEN CDATA IDREF ID especificado default último especificado #CURRENT opcional #IMPLIED obligatorio #REQUIRED 29/11/2018

22 SGML: sintaxis básica (2.3) declaraciones de 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 “ general externa analizada <!ENTITY logo SYSTEM “ no analizada “.”> de carácter <!DOCTYPE texto [ <!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”> %elemento-epr; ]> de parámetro " &apos; > < & & entidades predefinidas 29/11/2018

23 SGML: software Parsers analizadores Editores / procesadores
Formateadores Conversores Gestió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 29/11/2018


Descargar ppt "Metalenguajes descriptivos: Introducción a SGML Eduardo Peis Universidad de Granada 29/11/2018."

Presentaciones similares


Anuncios Google