STxT Tutorial
¿Qué es STxT?
Es un lenguaje puramente semántico, con unas reglas muy básicas, que permite la creación de documentos con un contenido estructurado y sencillo de interpretar, tanto por humanos (sin conocimientos informáticos) como por máquinas. Se puede estar leyendo un documento en STxT sin darse cuenta en realidad que lo es.
Documentos sin namespace
Mostramos un ejemplo de una receta de cocina:
Receta: Receta de macarrones :Descripción: Esta es la descripción de la recta de macarrones. Bla, bla, bla Bla, bla, bla Comensales: 3 Dificultad: fácil Ingredientes: Ingrediente: (100g) Tomate Ingrediente: (240g) Macarrones Pasos: Paso: Hacer sofrito Paso: Hervir macarrones Paso: Juntar macarrones con sofrito y servir
Este es un documento STxT sin namespace. Este tipo de documentos
son estructurados, pero no sabemos que forma tienen los nodos. De cualquier manera ya
se puede ver que tienen estructura, con un nodo principal Receta
, el qual tiene
un nodo Descripción
, Ingredientes
, etc. A su vez estos nodos tienen otros, y así
hasta formar una estructura jerárquica.
Vale la pena mencionar el nodo Descripción
que es un nodo que permite multilíneas.
Al no tener una estructura previa se distinguen porque el nombre del nodo
es de la forma :nombre del nodo:
Documentos con namespace
Ahora un ejemplo de la misma receta con un namespace:
Receta (com.kocinando.receta): Receta de macarrones Descripción: Esta es la descripción de la recta de macarrones. Bla, bla, bla Bla, bla, bla Comensales: 3 Dificultad: fácil Ingredientes: Ingrediente: (100g) Tomate Ingrediente: (240g) Macarrones Pasos: Paso: Hacer sofrito Paso: Hervir macarrones Paso: Juntar macarrones con sofrito y servir
Ahora mostramos el namespace. La definición del namespace se encuentra en un documento sin namespace:
Namespace: com.kocinando.receta Receta: Descripción: (?) TEXT Comensales: (?) NUMBER :Dificultad: (?) ENUM fácil media difícil Ingredientes: (1) Ingrediente: (+) Pasos: (1) Paso: (+)
Comentarios
Es posible insertar comentarios en los documentos para expresar partes no finalizadas, pensamientos del autor, etc. Los comentarios no se usarán pero permiten enriquecer el documento.
Receta (com.kocinando.receta): Receta de macarrones # Esta receta me la pasó XX y la he hecho un montón de veces # Os gustará mucho!! Descripción: Esta es la descripción de la recta de macarrones. Bla, bla, bla Bla, bla, bla Comensales: 3 Dificultad: fácil Ingredientes: Ingrediente: (100g) Tomate Ingrediente: (240g) Macarrones Pasos: Paso: Hacer sofrito Paso: Hervir macarrones Paso: Juntar macarrones con sofrito y servir
Distintos namespaces en un documento
Un namespace puede hacer referencia a otro, para indicar que una parte del documento tiene la estructura en otro namespace. Mejor ver un ejemplo:
Namespace:com.kocinando.recetario Recetario: Receta: (+) (com.kocinando.receta)
Aquí vemos que Receta
es de otro namespace y vemos que
en vez de poner la estructura se hace referencia a otro namespace.
NO es necesario decir el namespace interior, sólo el nodo principal.
Así, un ejemplo de recetario sería:
Recetario (com.kocinando.recetario): Recetas de la mama Receta: Receta de macarrones Descripción: Esta es la descripción de la recta de macarrones. Bla, bla, bla Bla, bla, bla Comensales: 3 Dificultad: fácil Ingredientes: Ingrediente: (100g) Tomate Ingrediente: (240g) Macarrones Pasos: Paso: Hacer sofrito Paso: Hervir macarrones Paso: Juntar macarrones con sofrito y servir Receta: Receta de pizza Ingredientes: Ingrediente: (1u) Masa pizza Ingrediente: (100g) Tomate Ingrediente: (50g) Queso Pasos: Paso: Poner tomate y queso en pizza Paso: Hornear durante 15'