Ingeniería del conocimiento
Codificar un programa en XSLT que reciba como entrada un archivo XML con un mensaje y la definición de una estructura sintáctica en N lenguajes. Como salida debe codificar el mensaje siguiendo la sintaxis de los N lenguajes.
<traductor>
<lenguaje nblenguaje="L1">
<estructura nbestructura="L1E1">
<token>
<tipotoken>fijo</tipotoken>
<contenido>estudiante</contenido>
</token>
<token>
<tipotoken>fijo</tipotoken>
<contenido>estudiante</contenido>
</token>
<token>
<tipotoken>variable</tipotoken>
<contenido>boleta</contenido>
</token>
<token>
<tipotoken>variable</tipotoken>
<contenido>calificacion</contenido>
</token>
</estructura>
</lenguaje>
<lenguaje nblenguaje="L2">
<estructura nbestructura="L2E1">
<token>
<tipotoken>variable</tipotoken>
<contenido>boleta</contenido>
</token>
<token>
<tipotoken>fijo</tipotoken>
<contenido>:-</contenido>
</token>
<token>
<tipotoken>variable</tipotoken>
<contenido>boleta</contenido>
</token>
<token>
<tipotoken>variable</tipotoken>
<contenido>calificacion</contenido>
</token>
</estructura>
</lenguaje>
<mensaje>
<boleta>2010601234</boleta>
<calificacion>10</calificacion>
</mensaje>
</traductor>
El programa debe tener un ciclo para cada traductor/lenguaje y dentro de éste, otro ciclo para cada estructura/token, de tal forma que codifique el mismo mensaje en todos los lenguajes que se tengan.
Como vimos en clase, cuando el token es variable debe subirse a una variable en memoria el nombre de la etiqueta y posteriormente obtener el valor contenido en la etiqueta que está especificado en traductor/mensaje.
El problema que debe resolverse es cómo se le especifica esto en XSLT. Se usa una etiqueta value-of que recibe un atributo select="expresion XPath". XPath es un lenguaje para recorrer los árboles XML cargados en la memoria del navegador.
Pueden encontrar la sintaxis de XPath aquí.
La salida deben ser dos sentencias:
estudiante 2010601234 10
y 2010601234 :- 10
pero no debe estar alambrado, es decir, deben poder incluirse más lenguajes en el XML y que genere las sentencias sin cambiar el código XSLT siempre y cuando los únicos tokens variables de la estructura sintáctica sean boleta y calificacion.
El programa es para el jueves, si quieren pueden entregarlo vía facebook.
En sus marcas...