3. Formato de un archivo de definiciones
Anterior | Capítulo 2. Un banco de definiciones | Siguiente

## 3. Formato de un archivo de definiciones

Los ejemplos presentados en las secciones anteriores, empleaban en las descripciones, palabras y definiciones en el formato por defecto que es texto plano. Es posible especificar otro formato con el atributo `formato` del elemento raíz `def` y limitar la longitud máxima aceptable para una cadena en tal formato con el atributo `longitud`. Por ejemplo:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE def PUBLIC "-//Structio//DTD definiciones 1.0" "def.dtd">

    <def formato="tex" longitud="80">
      <desc>Definiciones de matemáticas 10</desc>

      <derechos tipo="Dominio público">Cedido al dominio público</derechos>

      <pal id="g10s5" pal="$\pi \cdot 121 / (12 \cdot 180)$">
        <sig id="g10s5.Sexagesimal" fecha="1/09/2002">?`El ángulo escrito en
    sexagesimal 10\textdegree 5' en radianes es ...? (!`)</sig>
        <despiste>$\pi$</despiste>
        <despiste>$\pi \cdot 10/180$</despiste>
        <despiste>$\pi \cdot 5/(10 \cdot 180)$</despiste>
      </pal>

      <pal id="a"><sig id="a.a">texto a</sig></pal>
      <pal id="b"><sig id="b.b">texto b</sig></pal>
      <pal id="c"><sig id="c.c">texto c</sig></pal>

    </def>

Note que el elemento `def` indica que las cadenas se escriben en TeX y que no sobrepasan los 80 caracteres al transformarse en texto plano para presentarse. Además de `texto` y `tex` es posible emplear `docbook`. En los casos de TeX y DocBook sólo se soportan subconjuntos, que son traducidos a texto plano por las herramientas de repaso. El programa de chequeo (`repchq`) podrá verificar que se empleen sólo elementos soportados y que la longitud máxima tras traducir a texto plano (en caso de haberse especificado una) no se sobrepase. Con la opción `-formato` de `repchq` puede establecerse un formato que ignora el formato que pueda estar especificado en el archivo de definiciones que se verifica.

El siguiente ejemplo muestra el uso del formato DocBook:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE def PUBLIC "-//Structio//DTD definiciones 1.0" "def.dtd">
    <def formato="docbook">
      <desc>Información extraída de: Aprendiendo a aprender Linux: guías de estudio
    	para colegios</desc>
      <biblio>http://structio.sourceforge.net/guias/AA_Linux_colegio</biblio>
      <derechos tipo="Dominio público" tiempo="Febrero de 2003">DP</derechos>
      <autor fecha="17/02/2003">Jaime Irving Dávila, Pablo Chamorro,
    	Igor Támara, Vladimir Támara</autor>
      <pal id="dd" pal="&lt;command&gt;dd&lt;/command&gt;">
        <!--# 7685 administrador2.xml--><sig id="dd.linux0" fecha="17/02/2003">Este programa
    	permite copiar información por bloques. Es usado por ejemplo para copiar la imagen
    	de un disquete en un disquete. </sig>
      </pal>
      <pal id="apt" pal="&lt;command&gt;apt&lt;/command&gt;">
        <!--# 4481 administrador1.xml--><sig id="apt.linux0" fecha="17/02/2003">Método de acceso
    	que &lt;literal&gt;dselect&lt;literal&gt; soporta y que permite especificar los
    	repositorios en el archivo &lt;filename&gt;/etc/apt/sources.list&lt;/filename&gt;.</sig>
      </pal>
    </def>

Note que además de la sintaxis de un archivo de definiciones usual, hay presentes: (1) elementos de DocBook con sintaxis especial de XML para < (&lt;) y > (&gt;); (2) comentarios interpretados por la librería de XML de `repasa`, que referencian otros archivos y líneas en ellos, así por ejemplo la palabra con identificación `dd` tiene un significado extraído de la línea 7685, del archivo `administrador2.xml`. Empleando estas referencias, los errores que puedan existir son reportados por repchq con respecto a la fuente. Esto resulta útil por ejemplo cuando el archivo de definiciones es extraído automáticamente de otro archivo (en este ejemplo de un documento DocBook).

Para el caso de formato `docbook` en lugar de emplear &lt; y &gt;, los textos de las definiciones podrían ser secciones `CDATA`, por ejemplo el significado de la palabra `<command>apt</command>` podría escribirse:

    <sig id="apt.linux0" fecha="17/02/2003">
    <![CDATA[
    Método de acceso que
    <literal>dselect</literal> soporta y que permite especificar
    los repositorios en el archivo
    <filename>/etc/apt/sources.list</filename>.
    ]]>
    </sig>

Anterior | Subir | Siguiente
2. Más información en un archivo de definiciones | Inicio | Capítulo 3. Definiciones clasificadas en una jerarquía