metalenguajes descriptivos: introducción a sgml eduardo peis universidad de granada
Post on 11-Feb-2016
46 Views
Preview:
DESCRIPTION
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 "." >
… 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
top related