1 / 23

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

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 …

adonai
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metalenguajes descriptivos: Introducción a SGMLEduardo PeisUniversidad de Granada

  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

  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>

  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> <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>

  5. 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 <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>

  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

  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)+ ) >

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

  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) >

  10. 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 >

  11. <!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>

  12. 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">...

  13. 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 "&#46;" > … No era posible que a&#46;uásemos... <!DOCTYPE texto [ <!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”> %elemento-epr; ]>

  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>

  15. <!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>

  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>

  17. DECLARACIÓN SGML <!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”>

  18. SGML: sintaxis básica (1) modelo de documento declaración SGML <!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> tipo de documento entidad de sistema contenido (#PCDATA) comentarios SGML elementos referencia de entidad atributos

  19. declaración de tipo de documento <!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 entidad declaraciones de elementos declaraciones de listas de atributos SGML: sintaxis básica (2) DTD –Document Type Definition-

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

  21. valor de atributo #REQUIRED obligatorio ID identificador único #IMPLIED opcional IDREF puntero a algún otro elemento #CURRENT último especificado CDATA datos de caracteres no analizables default especificado NMTOKEN cualquier cadena de caracteres NUMBER caracteres numéricos SGML: sintaxis básica (2.2) declaraciones de lista de atributos nombre 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>

  22. <!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 no analizada <!ENTITY logo SYSTEM “http://www.ugr.es/~epeis/logo.gif”> general externa analizada <!ENTITY @ “&#46;”> de carácter <!ENTITY miscosas SYSTEM “http://www.ugr.es/~epeis/miscosas.sgm”> entidades predefinidas &amp; & &lt; < &gt; > &apos; ‘ &quot; “ SGML: sintaxis básica (2.3) declaraciones de entidades <!DOCTYPE texto [ <!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”> %elemento-epr; ]> de parámetro

  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

More Related