Esquema RelaxNG
Al trabajar con XML-TEI, lo más habitual es el uso de esquemas Relax NG, pues son los que permiten más granularidad y flexibilidad. Relax NG responde a las siglas: REgular LAnguage for XML Next Generation y su especificación fue publicada por el Consortium OASIS el 3 de diciembre de 2001. Poco después, en 2003, se convirtió en norma ISO (ISO/IEC 19757-2:2003) y en 2008 hubo una nueva publicación que remplazaba la segunda: ISO/IEC 19757-2:2008 Document Schema Definition Language (DSDL) – Part 2: Regular grammar-based validation – RELAX NG.
Relax NG se expresa en XML y es relativamente sencillo y fácil de aprender. A diferencia de las DTD, por ejemplo, admite espacios de nombre y por tanto la capacidad de trabajar con uno o con varios. Para una lista más detallada de las ventajas, véanse las especificaciones del Relax NG.
Este tipo de esquema propone una determinada estructura para cada una de las instancias XML, estableciendo un modelo concreto de contenido tanto de los elementos como de los atributos. En el esquema, todos los elementos deben ser definidos. Para dar una idea general del tipo de gramática utilizada, veamos por ejemplo de qué manera Relax NG indicaría que el elemento raíz de un documento TEI puede ser doble:
<start>
<choice>
<ref name="tei_TEI"/>
<ref name="tei_teiCorpus"/>
</choice>
</start>
El elemento <start>
indica el elemento raíz, mientras que <choice>
indica las opciones de anidación en el interno de esa etiqueta. A continuación, deberíamos definir a su vez los elementos <TEI>
y <teiCorpus>
(de otra manera el esquema no estaría bien formado).
Tomemos otro ejemplo, el elemento <text>
tal y como aparece definido en el esquema Relax NG según las Guías directrices de TEI:
<define name="tei_text">
<element name="text">
<!-- Aquí aparece la documentación que concierne al elemento: -->
<a:documentation
xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0">
contiene un único texto de cualquier tipo, sea este unitario o
combinado, p.ej. un texto en verso o teatral, una recopilación
de ensayos, una novela, un diccionario, o una fragmento de corpus.
[4. 15.1. ]</a:documentation>
<!-- Dentro de <text> podemos encontrar un grupo de elementos: -->
<group>
<zeroOrMore>
<!-- En este punto pueden aparecer ninguna o múltiples veces una
serie de elementos permitidos en cualquier punto de un documento
XML-TEI. Véase la lista aquí:
http://www.tei-c.org/release/doc/tei-p5-doc/es/html/
ref-model.global.html -->
<ref name="tei_model.global"/>
</zeroOrMore>
<optional>
<!-- Opcionalmente podemos tener un elemento <front> en el interno de <text> -->
<ref name="tei_front"/>
<zeroOrMore>
<ref name="tei_model.global"/>
</zeroOrMore>
</optional>
<choice>
<!-- Debemos elegir entre incluir un elemento <body> o un elemento <group> -->
<ref name="tei_body"/>
<ref name="tei_group"/>
</choice>
<zeroOrMore>
<ref name="tei_model.global"/>
</zeroOrMore>
<optional>
<!-- Opcionalmente podemos tener un elemento <back> en el interno de <text> -->
<ref name="tei_back"/>
<zeroOrMore>
<ref name="tei_model.global"/>
</zeroOrMore>
</optional>
</group>
<!-- Aquí la lista de los tipos de atributos que puede contener el
elemento <text> -->
<ref name="tei_att.global.attributes"/>
<ref name="tei_att.declaring.attributes"/>
<ref name="tei_att.typed.attributes"/>
<empty/>
</element>
</define>
El esquema puede encontrarse en nuestro Repositorio de ejemplos: L6_Ejemplo_simple_comentado.rng.
Para llevar a cabo un proyecto de edición digital y de marcado XML-TEI es indispensable tener un esquema creado a nuestra medida. El esquema es el que nos permite establecer qué tipo de elementos necesitamos para marcar determinados fenómenos textuales, para poder localizarlos y procesarlos posteriormente. También supone que podamos establecer los atributos, los valores e incluso el orden de todos ellos.
Normalmente en un proyecto hay múltiples personas trabajando en la codificación, por lo que es muy importante que todos codifiquen de la misma manera y con los mismos procedimientos y elementos.
Para la creación de un esquema el proceso siempre es el mismo. La condición indispensable es que analicemos el texto y que definamos qué elementos aparecen en el mismo, tanto cuestiones estructurales, como semánticas. Una vez hemos elaborado la lista de fenómenos que nos gustaría codificar, deberemos encontrar la manera de expresarlo según las Guías directrices y elaborar nuestro esquema Relax NG propio.
Cita
Allés Torrent, Susanna (2019). "Introducción a la Text Encoding Initiative". TTHub. Text Technologies Hub: Recursos sobre tecnologías del texto y edición digital. https://TTHub.io/aprende/introduccion-a-tei/
Copiar