Document (dev.stxt.namespace): STXT Tutorial Navigation: Previous: Anterior (index) Next: Siguiente (raw-docs) header: STxT Tutorial SubHeader: ¿Qué es STxT? Content: 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. subheader: Documentos sin namespace Content: Mostramos un ejemplo de una receta de cocina: Code: 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 Content: 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:` Subheader: Documentos con namespace Content: Ahora un ejemplo de la misma receta con un namespace: Code: 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 Content: Ahora mostramos el namespace. **La definición del namespace se encuentra en un documento sin namespace**: Code: ***Namespace: com.kocinando.receta*** Receta: Descripción: (?) TEXT Comensales: (?) NUMBER :Dificultad: (?) ENUM fácil media difícil Ingredientes: (1) Ingrediente: (+) Pasos: (1) Paso: (+) Subheader: Comentarios Content: 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. Code: 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 Subheader: Distintos namespaces en un documento Content: Un namespace puede hacer referencia a otro, para indicar que una parte del documento tiene la estructura en otro namespace. Mejor ver un ejemplo: Code: ***Namespace:com.kocinando.recetario*** Recetario: Receta: (+) ***(com.kocinando.receta)*** Content: Aquí vemos que `Receta` es de otro namespace y vemos que en vez de poner la estructura se hace referencia a otro namespace. Assert: NO es necesario decir el namespace interior, sólo el nodo principal. Content: Así, un ejemplo de recetario sería: Code: ***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'