Upload
adonai
View
45
Download
0
Tags:
Embed Size (px)
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
Citation preview
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 "." >
… No era posible que a.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.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 @ “.”><!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 @ “.”> de carácter
““""‘‘''>>>><<<<&&&&
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