Saltar al contenido principal

Documentación

La documentación de un esquema consiste en añadir información adicional sobre el esquema, como comentarios, información de autoría o versiones.

Podemos pensar que un método para añadir esta información es utilizar comentarios. El problema es que los analizadores no garantizan que los comentarios no se modifiquen al procesar los documentos y, por tanto, que los datos añadidos no se pierdan en algún proceso de transformación del documento.

annotation

En lugar de usar los comentarios, XML Schema tiene definido un elemento annotation que permite guardar información adicional. El elemento annotation se coloca como hijo de los elementos a documentar, como elementos, atributos, tipos de datos y reglas de validación.

Este elemento, a su vez, puede contener una combinación de otros:

  • documentation
  • appinfo

documentation

El elemento documentation se utiliza para proporcionar información de documentación humanamente legible sobre el esquema o una parte específica del esquema. Puede contener elementos XSD y elementos XML.

También permite determinar el idioma del documento mediante el atributo xml:lang.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="software" type="tipo-software">
<xs:annotation>
<xs:documentation xml:lang="es-es"><b>Nombre</b> del editor de texto.</xs:documentation>
</xs:annotation>
</xs:element>

<xs:complexType name="tipo-software">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="os" type="xs:string">
<xs:annotation>
<xs:documentation xml:lang="es-es">Sistemas operativos soportados.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>

En Visual Studio Code, cuando se pone el cursor encima del elemento <software> del documento XML se muestra lo siguiente:

Como se puede observar, se muestra el contenido del elemento documentation del XSD asociado al elemento software.

Por otro lado, cuando se pone el cursor encima del atributo os del documento XML se muestra lo siguiente:

En esta ocasión, como se puede observar, se muestra el contenido del elemento documentation del XSD asociado al atributo os.

El elemento documentation soporta algunos elementos HTML en el contenido.

appinfo

El elemento appinfo se utiliza para proporcionar información adicional. Esta información será utilizada por una aplicación para mostrar una ayuda contextual para elementos y atributos declarados en el esquema.

La información en appinfo no es necesariamente legible para un ser humano y puede contener instrucciones para una aplicación específica o una herramienta de procesamiento.

Un ejemplo de un XSD documentado sería el siguiente:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="software" type="tipo-software">
<xs:annotation>
<xs:appinfo>Nombre del editor de texto.</xs:appinfo>
</xs:annotation>
</xs:element>

<xs:complexType name="tipo-software">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="os" type="xs:string">
<xs:annotation>
<xs:appinfo>Sistemas operativos soportados.</xs:appinfo>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>

En Visual Studio Code, cuando se pone el cursor encima del elemento <software> del documento XML se muestra lo siguiente:

Como se puede observar, se muestra el contenido del elemento appinfo del XSD asociado al elemento software.

Por otro lado, cuando se pone el cursor encima del atributo os del documento XML se muestra lo siguiente:

En esta ocasión, como se puede observar, se muestra el contenido del elemento appinfo del XSD asociado al atributo os.

Para que un appinfo se muestre en la ayuda contextual de Visual Studio Code, el contenido del elemento debe ser simple (no puede contener otros elementos).