XSLT.NET XSLT en.net.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "XSLT.NET XSLT en.net."

Transcripción

1 XSLT en.net. XSLT (XSL Transformations) es una especificación del W3C (Worl Wide Web Consortium). Actualmente se está trabajando en la versión 2.0, siendo las anteriores la 1.0, y la 1.1, Cronológicamente, lo primero que apareció fue la especificación XSL (Extensible Stylesheets Language), que definía un lenguaje de tipo XML para transformar documentos XML en otros documentos y un vocabulario de tipo XML que especificaba cómo aplicarles formato. Posteriormente, la especificación XSL se dividió en dos: - XSL, que especifica cómo dar formato a los documentos XML. - XSLT (XSL Transformations), un lenguaje de tipo XML mediante el cual puede especificarse el proceso de transformación de un documento XML en otro documento XML. XSLT está diseñado para ser utilizado como parte de XSL. Se puede decir que XSL especifica el estilo de un documento XML utilizando XSLT para describir cómo el documento es transformado en otro documento XML que utilice el vocabulario XSL de formato. Figura Modelo de proceso XSL. El modelo de proceso XSL es conceptual. Cualquier implementación que se haga de este modelo tiene como única exigencia producir el resultado esperado por el modelo, pudiendo implementar los procesos de transformación y formateo juntos o por separado. La idea es muy sencilla. A partir del documento XML a transformar y formatear, se crea su árbol de nodos -árbol fuente-. El parser XSLT, basándose en una página XSL -en su parte XSLT-, transforma el árbol fuente, obteniendo el árbol resultado, en cuyos nodos 1/25

2 se guardan los elementos de formateo. Una vez se dispone del árbol resultado se le aplica el parser XSL -que puede venir implementado con el parser XSLT-, el cual se puede basar en la parte XSL de la misma página en la que se ha basado el parser XSLT, obteniendo el documento resultado en el formato deseado. Cabe mencionar que XSLT puede ser utilizado independientemente de XSL. No obstante XSLT no se ha pensado como un lenguaje de transformación XML de propósito general. XSLT utiliza el lenguaje de expresiones XPath para seleccionar y procesar nodos de un documento XML. XPath es un lenguaje de consulta pensado para navegar por los nodos de un árbol correspondiente a un documento. Actualmente, el Framework.NET soporta la mayoría de las características de la versión 1.0 de la recomendación XSLT de W3C. La implementación concreta de estas características la hace la clase XslTransform -namespace System.Xml.Xsl- que es un parser XSLT. Por otro lado, se ha comentado que XSLT utiliza XPath para navegar por un documento XML. En el Framework.NET la implementación de XPath se hace mediante la clase XPathNavigator y la interfaz IPathNavigable. La interfaz IPathNavigable es implementada por las clases XmlDocument, XmlDataDocument y XPathDocument y ofrece un método CreateNavigator que devuelve un objeto XPathNavigator mediante el cual se puede navegar por el documento asociado. En la figura 26.2 Se puede observar la arquitectura de transformación implementada por.net. 2/25

3 Figura Implementación que da el Framework.NET al modelo XSLT. El siguiente es ejemplo sencillo de XSLT con.net: //Creación de una instancia del parser XSLT XslTransform xslt = new XslTransform(); //Carga de la página xsl en la que se basará la transformación xslt.load(" //Creación de un objeto XPathDocument al que se asociará el documento //xml a transformar XPathDocument xmldocument = new XmlDocument" //creación de un flujo de salida asociado a la consola XmlWriter writer = new XmlTextWriter(Console.Out); //La salida sera formateada, con tabulaciones. Writer.Formatting=Formatting.Indented; //Invocación al método Transform del parser XSLT para realizar la //tranformación basada en trans1.xsl. El resultado de la //transformación se enviará al flujo writer, es decir, a la consola xslt.transform(xmldocument, null, writer); Como puede verse, los pasos básicos para aplicar una transformación a un documento XML son: - Crear el parser XSLT. - Asociarle la página.xsl deseada -contiene la información de transformación-. - Cargar el documento.xml a transformar. - Crear el flujo de salida, al que se enviará el documento resultado de la transformación. - Invocar al método Transform de la clase XslTransform, con lo que se realizará la transformación. XPath. El cometido principal de XPath es acelerar las iteraciones y selecciones que se realicen sobre un documento XML. Como se ha comentado, XPath es utilizado desde XSLT para mejorar la eficiencia de la transformación de un documento XML. No obstante puede utilizarse independientemente. Las clases XPath se encuentran en el namespace System.Xml.XPath, siendo las más representativas: - XPathDocument: Esta clase implementa la interfaz IXPathNavigable y representa un documento XML completo. Está optimizada para el procesamiento XSLT y el modelo de datos XPath. - XPathNavigator: Esta clase permite navegar sobre un documento XML en modo read only -sólo lectura- y está optimizada para el procesamiento XSLT y el modelo de datos XPath. 3/25

4 - XPathNodeIterator: Representa un conjunto de nodos creado como resultado de una consulta XPath. Permite navegar por los nodos utilizando un cursor de tipo sólo lectura hacia delante (read-only, forward-only). - XPathExpression: representa una expresión XPath compilada, resultado de invocar al método Compile de XPathNavigator. Esta expresión puede ser luego utilizada por los métodos Select, Evaluate y Matches de la clase XPathNavigator. Además de las clases comentadas cabe reseñar la interfaz IXPathNavigable, que es implementada por las clases XmlNode -y sus derivadas- y XPathDocument. Esta interfaz ofrece un método llamado CreateNavigator que devuelve un objeto de la clase XPathNavigator. Por ejemplo: XPathDocument doc = new XPathDocument("libros.xml"); XPathNavigator nav = doc.createnavigator(); A pesar de que XPath es generalmente utilizado desde XSLT, también puede utilizarse independientemente. En tal caso ofrece la ventaja de poder seleccionar, recorrer y realizar rápidamente operaciones sobre nodos. A continuación se muestra la aplicación EjemploXPath en la que se recorren todos los nodos del árbol correspondiente a la carga de libros.xml cuyo genero sea novela, mostrando su información en una lista y la suma de los precios de los libros en una caja de texto. Al iniciar la aplicación -método Form_Load-, se copia el contenido del fichero libros.xml a la caja de texto textbox1 situada a la izquierda del formulario. El recorrido se hará al pulsar el botón Leer XPath. El código del método manejador del evento Click sobre el botón Leer XPath será: using System.Xml.XPath; private void button1_click(object sender, System.EventArgs e) { XPathNodeIterator iteratordatoslibro; XPathDocument doclibros = new XPathDocument("..\\..\\libros.xml"); //creación del objeto navegador XPathNavigator. El método //CreateNavigator es heredado e implementado por XPathDocument a //partir de IXPathNavigable. XPathNavigator navigatorlibros = doclibros.createnavigator(); 4/25

5 //ejecutar una consulta XPath para recuperar un conjunto de //nodos XML tales nodos han de corresponder a libros de género //'novela'. XPathNodeIterator iteratorlibros = navigatorlibros.select("/biblioteca/libro[@genero='novela']"); //iteratorlibros permite recorrer todos los nodos del conjunto //de nodos resultado de la consulta anterior. //el método MoveNext salta al siguiente nodo. while (iteratorlibros.movenext()) { //iteratorlibros.current devuelve un puntero XPathIterator //al nodo actual. //El método SelectDescendants (de XPathIterator) selecciona //un conjunto con los nodos descendientes o hijos del //actual (<libro>), que se puede recorrer con //iteratordatoslibro (los nodos hijo son <titulo>, <autor> //y <precio>). iteratordatoslibro = iteratorlibros.current.selectdescendants( XPathNodeType.Element,false); } //recorrido de los nodos hijos del libro actual while(iteratordatoslibro.movenext()) { //se muestra el contenido de cada nodo en la lista, //excepto el del nodo autor que se muestra al pasar //por sus nodos hijo (<nombre> y <apellido>). if (!iteratordatoslibro.current.name.equals("autor")) listbox1.items.add(iteratordatoslibro.current.value); } } //Se muestra en la caja de texto la suma del precio //de todos los libros devueltos al ejecutar la //consulta XPath indicada (todos los libros cuyo //género sea 'novela'. textbox2.text = navigatorlibros.evaluate("sum(/biblioteca/libro [@genero='novela']/precio)").tostring(); El resultado de ejecutar la aplicación y pulsar el botón Leer XPath será: 5/25

6 Figura Recorrido XPath del documento libros.xml. Se realiza una consulta XPath y una operación. XSLT. En el Framework.NET, el namespace System.Xml.Xsl es el que contiene las clases e interfaces que dan soporte a las transformaciones XSL (XSL Transforms). Sin duda, la clase fundamental de este namespace es XslTransform, que permite transformar datos XML ayudándose de una hoja de estilos XSL -realmente se puede decir una hoja XSLT-. XslTransform soporta la versión 1.0 de la declaración XSLT y por este motivo es necesario que en toda hoja XSLT que vaya a ser utilizada por XslTransform se incluya la declaración de namespace xmlns:xsl= Nota: es importante no confundir namespace XML con namespace.net. Los métodos más significativos de la clase XslTransform son: - Load : carga una hoja de estilos XSLT, incluyendo cualquier referencia de tipo xsl:import y xsl:include que contenga. Este método está sobrecargado, en su versión más sencilla basta con pasarle un string con la URL de la hoja de estilos. No obstante, admite cargar la hoja de estilos a partir de un XmlReader, XPathNavigator o IXPathNavigable. Por ejemplo: XslTransform transxslt = new XslTransform(); 6/25

7 transxslt.load(..//..//libros.xsl ); - Transform : transforma los datos XML que se le especifiquen -primer parámetro-, utilizando la hoja de estilos XSLT que se le indique devolviendo el resultado de la transformación. Este método está sobrecargado, siendo el prototipo de la sobrecarga más común: public void Transform(IXPathNavigable, XsltArgumentList, Stream); o El tipo del primer parámetro es IXPathNavigable y representa un conjunto de datos XML, que es el que va a ser transformado. o El tipo del segundo parámetro es XsltArgumentList (pertenece al namespace System.Xml.Xsl) y representa argumentos que pueden ser utilizados en la transformación. o El tipo del tercer parámetro es Stream y representa un flujo al que enviará la salida de la transformación el método Transform. Varias de las sobrecargas del método Transform difieren únicamente en el tipo del tercer parámetro, que puede ser TextWriter o XmlWriter. Otras difieren en el tipo del primer parámetro, que puede ser XPathNavigator. Existe otra variante que sólo recibe dos parámetros, pudiendo ser el primero de tipo IPathNavigator o XPathNavigator y siendo el segundo de tipo XsltArgumentList. Esta variante devuelve como resultado un objeto de tipo XmlReader, que permite leer la salida de la transformación. Por último, existe un método que recibe dos argumentos de tipo string, el primero representa el fichero XML de entrada y el segundo el fichero de salida. El procedimiento a seguir con la clase XslTransform para transformar un documento XML es: 1. Obtener un documento XML. 2. Crear un objeto de la clase XslTransform. 3. Utilizar el método Load para cargar la hoja de estilos (XSLT) a utilizar para la transformación. 4. Utilizar el método Transform para transformar los datos XML. A continuación se muestra un ejemplo similar a EjemploXPath (en este caso se llama EjemploXSLT y utiliza dos cajas de texto, en lugar de una caja y una lista) en el que al pulsar el botón XSLT se realiza una transformación XSLT a HTML basada en la hoja de estilos libros.xsl, mostrando su resultado en la caja de texto de la derecha y guardándolo también en un fichero librosxsltresul.html. En este ejemplo se incluye algún comentario de ayuda pero se presupone un conocimiento básico de XSL: El contenido de la hoja de estilos libros.xsl es <xsl:stylesheet xmlns:xsl=" version="1.0" 7/25

8 <!-- Esta primera parte define la estructura del documento transformado --> <!-- La línea siguiente busca el nodo raíz del documento --> <xsl:template match="/"> <!--Lo que sigue, hasta el siguiente comentario, aparecerá literalmente--> <html> <head> <title>prueba xsl</title> </head> <body> <!-- La línea siguiente pide que se apliquen las plantillas --> <!-- Las plantillas que se indican mas abajo son las que se aplican --> <!-- Se comienza por el elemento mas cercano a la raíz, que es--> <!--biblioteca--> <xsl:apply-templates /> </body> </html> </xsl:template> <!--A partir de aquí se indican las plantillas que se aplicarán- -> <xsl:template match="biblioteca"> <!-- La plantilla biblioteca sólo pide aplicar la plantilla libro --> <xsl:apply-templates select="libro" /> </xsl:template> <!-- La plantilla libro muestra el valor de ciertos elementos--> <!-- (ISBN, titulo, precio) de cada libro--> <!-- Además inserta texto y algún otro elemento válido en HTML-- > <xsl:template match="libro"> ISBN: <xsl:value-of select="@isbn" /> Titulo: <xsl:value-of select="titulo" /> Precio: <xsl:value-of select="precio" /> <text></text> </xsl:template> </xsl:stylesheet> Obsérve que no se acentúan las palabras. El motivo es que es muy posible que, si se utilizan tildes, se produzcan errores en el proceso de transformación. El código del método de respuesta al evento Click sobre el botón XSLT (button1_click) es: private void button1_click(object sender, System.EventArgs e) { //Creación de una instancia del parser XSLT XslTransform xslt = new XslTransform(); 8/25

9 //Carga de la página xsl en la que se basará la transformación xslt.load("..\\..\\libros.xsl"); //Creación de un objeto XPathDocument al que se asociará el //documento xml a transformar XPathDocument docxml = new XPathDocument("..\\..\\libros.xml"); //creación de un flujo de salida asociado al fichero //librosxsltresul.html XmlTextWriter escritor = new XmlTextWriter("..\\..\\librosxsltresul.html", System.Text.Encoding.UTF8); //La salida será formateada, con tabulaciones. escritor.formatting=formatting.indented; //Invocación al método Transform del parser XSLT para realizar //la transformación basada en libros.xsl. El resultado de la //transformación se enviará al flujo escritor, es decir, al //fichero librosxsltresul.html xslt.transform(docxml, null, escritor); } //Invocación al método Transform. Es igual que la anterior, //con la salvedad de que el resultado se envía a un flujo //de tipo XmlReader para poder ser leído y asignado a textbox2 XmlReader lector = xslt.transform(docxml, null); lector.read(); textbox2.text = lector.readinnerxml(); escritor.close(); Como puede observarse, se realizan dos transformaciones: xslt.transform(docxml, null, escritor); Esta primera transformación envía el resultado al flujo (stream) escritor, que está asociado al fichero librosxslresul.html. XmlReader lector = xslt.transform(docxml, null); Esta segunda transformación devuelve un objeto de tipo XmlReader, que contiene el resultado de la transformación y que después es utilizado para mostrar dicho resultado en la caja de texto textbox2. Es importante notar que el resultado es de tipo HTML, no XML. No es del todo ortodoxo utilizar un objeto XmlReader para acceder a la información HTML. En ambas invocaciones al método Transform, el segundo parámetro es null. El motivo es que, en este ejemplo, no se pasa una lista de argumentos XsltArgumentList- al método Transform. El resultado de ejecutar la aplicación es: 9/25

10 Figura Transformación de libros.xml a formato HTML mediante una transformación XSLT. Obsérvese el contenido del fichero en la caja de texto de la derecha. Además, se habrá generado el fichero librosxslresul.html. 10/25

11 Figura librosxslresul.html. La transformación ha convertido el fichero de tipo XML libros.xml en un fichero de tipo HTML con un formato particular. Scripts XSLT. La clase XslTransform soporta que las hojas de estilos XSLT incluyan scripts. Los scripts deben incluirse mediante el elemento <msxsl:script>. El lenguaje del script puede ser JavaScript, JScript, C# o VB y ha de indicarse en el elemento <msxsl:script> a través del atributo language. Además se ha de indicar otro atributo implements-prefix, al que se debe asociar un prefijo que represente el namespace asociado al script. Es posible declarar variables y funciones en el script y pueden utilizarse clases, con la condición de que se cualifiquen completamente, como por ejemplo, System.Xml.XPath.XPathNavigator, y que pertenezcan a uno de los siguientes namespace: 11/25

12 - System - System.Collection - System.Text - System.Xml - System.Xml.Xsl - System.Xml.XPath El tipo de los argumentos y valores de retorno de las funciones del script debe ser uno de los definidos por el W3C para XPath. A continuación se indican tales tipos y su correspondiente en el soporte que ofrece.net a XPath. Tipo W3C XPath String Boolean Number Node Fragment Node Set Tipo equivalente en.net XPath System.String System.Boolean System.Double System.Xml.XPath.XpathNavigator System.Xml.XPath.XpathNodeIterator Si una función del script utiliza uno de los siguientes tipos: - Int16 - Uint16 - Int32 - Uint32 - Int64 - UInt64 - Single - Decimal Cualquiera de ellos es convertido implícitamente coerción- a System.Double, que corresponde al tipo W3C XPath Number. En caso de que una función del script utilice un tipo que no pertenezca a los mencionados, se lanzará una excepción. El elemento <msxsl:script> pertenece al namespace urn:schemas-microsoftcom:xslt. Por este motivo, una hoja de estilos que incluya scripts debe incluir también una declaración de namespace xmlns:msxsl= urn:schemas-microsoft-com:xslt. Cuando se carga una hoja de estilos con scripts, se crea una clase envoltorio (wrapper) que contiene las funciones del script (su nombre se obtiene del atributo implements-prefix). Aprovechando el ejemplo anterior, se va a añadir un botón XSLT scripts (button2) tal que al pulsarlo se realice una transformación XSLT del documento libros.xml, utilizando como hoja de estilos librosscripts.xsl y generando como resultado librosxsltscriptresul.html. En la hoja librosscripts.xsl habrá un script con dos funciones: - MostrarCabeceraLibro - MostrarPieLibro 12/25

13 Ambas devuelven un texto y se invocarán para cada libro, al principio y final respectivamente. El contenido de la hoja de estilos librosscripts.xsl es: <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:ejemploxslt=" <msxsl:script language="c#" implements-prefix="ejemploxslt"> string MostrarCabeceraLibro() { return "***Datos del libro***"; } string MostrarPieLibro() { return "---Fin de datos del libro---"; } </msxsl:script> <!-- Esta primera parte define la estructura del documento transformado --> <!-- La línea siguiente busca el nodo raíz del documento --> <xsl:template match="/"> <!--Lo que sigue, hasta el siguiente comentario, aparecerá literalmente--> <html> <head> <title>prueba xsl</title> </head> <body> <!-- La línea siguiente pide que se apliquen las plantillas --> <!-- Las plantillas que se indican mas abajo son las que se aplican --> <!-- Se comienza por el elemento mas cercano a la raíz, que es--> <!--biblioteca--> <xsl:apply-templates /> </body> </html> </xsl:template> <!--A partir de aquí se indican las plantillas que se aplicaran- -> <xsl:template match="biblioteca"> <!-- La plantilla biblioteca solo pide aplicar la plantilla libro --> <xsl:apply-templates select="libro" /> </xsl:template> <!-- La plantilla libro muestra el valor de ciertos elementos--> <!-- (ISBN, titulo, precio) de cada libro--> <!-- Además inserta texto y algún otro elemento valido en HTML-- > <xsl:template match="libro"> <xsl:value-of select="ejemploxslt:mostrarcabeceralibro()"/> 13/25

14 ISBN: <xsl:value-of /> Titulo: <xsl:value-of select="titulo" /> Precio: <xsl:value-of select="precio" /> <xsl:value-of select="ejemploxslt:mostrarpielibro()"/> <text></text> </xsl:template> </xsl:stylesheet> El código del método de respuesta al evento Click sobre el botón XSLT Scripts es prácticamente igual al del ejemplo anterior para el botón XSLT. private void button2_click(object sender, System.EventArgs e) { //Creación de una instancia del parser XSLT XslTransform xslt = new XslTransform(); //Carga de la página xsl en la que se basará la transformación xslt.load("..\\..\\librosscripts.xsl"); //Creación de un objeto XPathDocument al que se asociará el //documento xml a transformar XPathDocument docxml = new XPathDocument("..\\..\\libros.xml"); //creación de un flujo de salida asociado al fichero //librosxsltresul.html XmlTextWriter escritor = new XmlTextWriter("..\\..\\librosxsltscriptresul.html", System.Text.Encoding.UTF8); //La salida será formateada, con tabulaciones. escritor.formatting=formatting.indented; //Invocación al método Transform del parser XSLT para realizar //la transformación basada en libros.xsl. El resultado de la //transformación se enviará al flujo escritor, es decir, al //fichero librosxsltresul.html xslt.transform(docxml, null, escritor); } //Invocación al método Transform. Es igual que la anterior, //con la salvedad de que el resultado se envía a un flujo //de tipo XmlReader para poder ser leído y asignado a textbox2 XmlReader lector = xslt.transform(docxml, null); lector.read(); textbox2.text = lector.readinnerxml(); escritor.close(); Tras pulsar el botón XSLT scripts, el resultado de ejecutar la aplicación es: 14/25

15 Figura Transformación de libros.xml a formato HTML mediante una transformación XSLT en la que interviene una hoja de estilos con scripts. Obsérvese, en la caja de texto de la derecha, el texto previo y posterior a cada libro. Se habrá generado también el fichero librosxsltscriptresul.html. 15/25

16 Figura librosxsltscriptresul.html XsltArgumentList. Los objetos de esta clase pueden contener parámetros XSLT o bien objetos de extensión XSLT. Cuando son pasados al método Transform, estos parámetros y objetos de extensión pueden ser utilizados desde las hojas de estilo. 16/25

17 Es mejor pasar objetos a las hojas de estilo utilizando XsltArgumentList que utilizar scripts incrustados en las hojas de estilo. Las ventajas más importantes son: - Mejor encapsulación y reutilización de las clases. - Permite que las páginas de estilo sean menores y más fáciles de mantener. - Permite invocar métodos de clases que pertenezcan a otros namespace que no sean los derivados de System. - Permite pasar a la página de estilos fragmentos de nodo, mediante XPathNavigator. Parámetros XSLT. Los parámetros XSLT son objetos que se pueden añadir a la lista de argumentos XsltArgumentList utilizando el método AddParam. Los parámetros han de tener un nombre y una URI de namespace asociados, además su tipo ha de corresponder con un tipo definido en el estándar XPath del W3C. Los pasos a seguir para utilizar un parámetro XSLT son: 1. Crear un objeto de la clase XsltArgumentList. 2. Añadirle el o los parámetros deseados utilizando el método AddParam de la clase XsltArgument. 3. Modificar la hoja de estilos para que utilice los parámetros. 4. Pasar el objeto XsltArgumentList al método Transform. Como ejemplo se va a añadir a la aplicación EjemploXSLT un botón de comando de título XSLTArgument de tal modo que al pulsarlo se realice la transformación XSLT de la página libros.xml utilizando la hoja de estilos librosxsltarg.xsl y generando librosxsltarg.html. La hoja de estilos librosxsltarg.xsl es: <xsl:stylesheet version="1.0" xmlns:xsl=" <!-- Parámetro que se recibirá de la invocación al método Transform - -> <xsl:param name="cabeceralibro"/> <!-- Esta primera parte define la estructura del documento transformado --> <!-- La línea siguiente busca el nodo raíz del documento --> <xsl:template match="/"> <!--Lo que sigue, hasta el siguiente comentario, aparecerá literalmente--> <html> <head> <title>prueba xsl</title> </head> <body> <!-- La línea siguiente pide que se apliquen las plantillas --> <!-- Las plantillas que se indican mas abajo son las que se aplican --> <!-- Se comienza por el elemento mas cercano a la raíz, que es--> 17/25

18 <!--biblioteca--> <xsl:apply-templates /> </body> </html> </xsl:template> <!--A partir de aquí se indican las plantillas que se aplicaran- -> <xsl:template match="biblioteca"> <!-- La plantilla biblioteca solo pide aplicar la plantilla libro --> <xsl:apply-templates select="libro" /> </xsl:template> <!-- La plantilla libro muestra el valor de ciertos elementos--> <!-- (ISBN, titulo, precio) de cada libro--> <!-- Además inserta texto y algún otro elemento valido en HTML-- > <xsl:template match="libro"> <xsl:value-of select="$cabeceralibro"/> ISBN: <xsl:value-of select="@isbn" /> Titulo: <xsl:value-of select="titulo" /> Precio: <xsl:value-of select="precio" /> <text></text> </xsl:template> </xsl:stylesheet> Las líneas más importantes están resaltadas en negrita: <xsl:param name="cabeceralibro"/> Esta línea indica que la hoja de estilos recibirá un parámetro al ser utilizada y que se llama CabeceraLibro. <xsl:value-of select="$cabeceralibro"/> Al procesar la hoja de estilos, esta línea será sustituida por el valor del parámetro CabeceraLibro. El código del método manejador del evento Click sobre el botón XSLTArgument (button3_click) es: private void button3_click(object sender, System.EventArgs e) { //Creación de una instancia del parser XSLT XslTransform xslt = new XslTransform(); //Carga de la página xsl en la que se basará la transformación xslt.load("..\\..\\librosxsltarg.xsl"); //Creación de un objeto XPathDocument al que se asociará el //documento xml a transformar XPathDocument docxml = new XPathDocument("..\\..\\libros.xml"); 18/25

19 //creación de un flujo de salida asociado al fichero //librosxsltresul.html XmlTextWriter escritor = new XmlTextWriter("..\\..\\librosxsltarg.html", System.Text.Encoding.UTF8); //La salida será formateada, con tabulaciones. escritor.formatting=formatting.indented; //Creación de un objeto XsltArgumentList. XsltArgumentList argsxslt = new XsltArgumentList(); //Creación del string que se pasará como parámetro //y adición a argsxslt. string textocabecera = "***Datos del Libro***"; argsxslt.addparam("cabeceralibro","ejemploxsltargs",textocabecer a); //Invocación al método Transform del parser XSLT para realizar //la transformación basada en libros.xsl. El resultado de la //transformación se enviará al flujo escritor, es decir, al //fichero librosxsltresul.html xslt.transform(docxml, argsxslt, escritor); } //Invocación al método Transform. Es igual que la anterior, //con la salvedad de que el resultado se envía a un flujo //de tipo XmlReader para poder ser leído y asignado a textbox2 XmlReader lector = xslt.transform(docxml, argsxslt); lector.read(); textbox2.text = lector.readinnerxml(); escritor.close(); En este código, similar al de los otros dos botones del ejemplo, cabe destacar las líneas en negrita: //Creación de un objeto XsltArgumentList. XsltArgumentList argsxslt = new XsltArgumentList(); //Creación del string que se pasará como parámetro //y adición a argsxslt. string textocabecera = "***Datos del Libro***"; argsxslt.addparam("cabeceralibro","",textocabecera); //Invocación al método Transform del parser XSLT para realizar //la transformación basada en libros.xsl. El resultado de la //transformación se enviará al flujo escritor, es decir, al //fichero librosxsltresul.html xslt.transform(docxml, argsxslt, escritor); //Invocación al método Transform. Es igual que la anterior, //con la salvedad de que el resultado se envía a un flujo //de tipo XmlReader para poder ser leído y asignado a textbox2 XmlReader lector = xslt.transform(docxml, argsxslt); La primera crea un objeto para contener los argumentos a pasar a la transformación cuando se invoque al método Transform, lo cual se hace en las dos últimas líneas (ver segundo argumento, argsxslt). 19/25

20 La tercera línea: argsxslt.addparam("cabeceralibro","ejemploxsltargs",textocabecera); configura y añade un argumento a la lista de argumentos argxslt-. Para ello utiliza la función AddParam de XsltArgumentList. El primer argumento es el nombre que recibirá el parámetro en la hoja XSL. El segundo argumento es una URI que identifica unívocamente al parámetro. Como se ve, puede no utilizarse. El tercer argumento es el valor del parámetro que se pasa a la hoja de estilos XSL. El resultado de pulsar el botón XSLTArgumentList es: Figura Resultado de pulsar XSLTArgumentList. Si se observa el fichero librosxsltarg.html se podrá apreciar el resultado de la transformación. 20/25

21 Figura librosxsltarg.html. Objetos de Extensión XSLT. Un objeto de extensión es similar a un parámetro normal. La diferencia radica en que un objeto de extensión representa un objeto de una clase que contiene métodos que se van a invocar desde la página XSL. En cambio, un parámetro representa un valor. Para añadir un objeto de extensión a un objeto de la clase XsltArgumentList ha de utilizarse el método AddExtensionObject (en lugar del método AddParam que se utiliza para añadir un parámetro). El método AddExtensionObject admite dos parámetros: - El primero es de tipo string y ha de ser una URI correspondiente a un namespace XML. Es el namespace que se utilizará en la hoja de estilos para 21/25

22 referenciar al objeto de extensión. Es obligatorio utilizar un namespace XML para identificar al objeto de extensión porque si no se producirá un error durante la transformación. - El segundo es una referencia al objeto de extensión. A continuación, como ejemplo, se va a modificar la aplicación EjemploXSLT haciendo que al pulsar el botón XSLTArgumentList se añada también a la lista de argumentos a pasar a Transform un objeto de extensión. Este objeto es de la clase FormateadorLibro,que tendrá un método MostrarPieLibro, que devolverá el string Fin de datos del Libro. La clase FormateadorLibro es: public class FormateadorLibro { public string MostrarPieLibro() { return "Fin de datos del Libro"; } } El método de respuesta al evento Click sobre button3 es: private void button3_click(object sender, System.EventArgs e) { //Creación de un objeto XsltArgumentList. XsltArgumentList argsxslt = new XsltArgumentList(); } //Creación de un objeto de extensión FormateadorLibro objfor = new FormateadorLibro(); //Adición del objeto objfor a argsxslt argsxslt.addextensionobject("urn:formateolibros", objfor); Nota: Se indican en negrita las líneas añadidas. Puesto que desde la hoja de estilos librosxsltarg.xsl se ha de invocar el método del objeto de extensión añadido, está quedará como sigue -se indican en negrita las líneas añadidas-: <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:miobjformateo="urn:formateolibros"> <!-- Parámetro que se recibirá de la invocación al método Transform - -> <xsl:param name="cabeceralibro"/> <!-- Esta primera parte define la estructura del documento transformado --> <!-- La línea siguiente busca el nodo raíz del documento --> <xsl:template match="/"> 22/25

23 <!--Lo que sigue, hasta el siguiente comentario, aparecerá literalmente--> <html> <head> <title>prueba xsl</title> </head> <body> <!-- La línea siguiente pide que se apliquen las plantillas --> <!-- Las plantillas que se indican mas abajo son las que se aplican --> <!-- Se comienza por el elemento mas cercano a la raíz, que es--> <!--biblioteca--> <xsl:apply-templates /> </body> </html> </xsl:template> <!--A partir de aquí se indican las plantillas que se aplicaran- -> <xsl:template match="biblioteca"> <!-- La plantilla biblioteca solo pide aplicar la plantilla libro --> <xsl:apply-templates select="libro" /> </xsl:template> <!-- La plantilla libro muestra el valor de ciertos elementos--> <!-- (ISBN, titulo, precio) de cada libro--> <!-- Además inserta texto y algún otro elemento valido en HTML-- > <xsl:template match="libro"> <xsl:value-of select="$cabeceralibro"/> ISBN: <xsl:value-of select="@isbn" /> Titulo: <xsl:value-of select="titulo" /> Precio: <xsl:value-of select="precio" /> <xsl:value-of select="miobjformateo:mostrarpielibro()"/> <text></text> </xsl:template> </xsl:stylesheet> La primera línea añadida: xmlns:miobjformateo="urn:formateolibros"> declara el namespace XML asociado al objeto de extensión y el nombre con el que se utilizará en la hoja de estilos MiObjFormateo. La última línea añadida: <xsl:value-of select="miobjformateo:mostrarpielibro()"/> 23/25

24 invoca al método MostrarPieLibro y añade su resultado a la transformación, que ha de pertenecer al objeto de extensión representado por MiObjFormateo. En este caso es objfor, de la clase FormateadorLibro. "MiObjFormateo:MostrarPieLibro()" equivale a objfor.mostrarpielibro() Al ejecutar la aplicación y pulsar el botón XSLTArgumentList se obtiene la siguiente pantalla: Figura Resultado de pulsar XSLTArgumentList. Y, si se observa el fichero librosxsltarg.html se verá que los pies de los libros han sido incluidos. 24/25

25 Figura librosxsltarg.html. La ejecución del método MostrarPieLibro, de la clase FormateadorLibro, ha añadido los pies de los libros. 25/25

Transformación de documentos XML con

Transformación de documentos XML con Transformación de documentos XML con X S L T Necesidad de las transformaciones XML se presenta como un estándar para transmitir datos a través de Internet. Ante la posibilidad de que distintos centros

Más detalles

XPath en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es

XPath en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es XPath en el aula Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es Resumen Todo el procesamiento realizado con un fichero XML está basado en la posibilidad de direccionar o acceder

Más detalles

WebServices Parte 2 XML

WebServices Parte 2 XML Autor : Gustavo Velez Para : www.gavd.net/servers/ Fecha : 30-05-2005 Versión : 1.0.0 WebServices Parte 2 XML Para garantizar la integración de WSS y SharePoint con otros tipos de aplicaciones, un sistema

Más detalles

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN GUÍA PARA LA PRESENTACIÓN DE NOTIFICACIONES Versión: 27/06/2012-1 ÍNDICE:

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Trabajar con tablas Las tablas permiten organizar la información y crear atractivos diseños de página con columnas paralelas de texto y gráficos. Las tablas pueden utilizarse para alinear números en columnas

Más detalles

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) APRENDERAPROGRAMAR.COM GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B) Sección: Cursos Categoría: Tutorial básico del programador web: HTML desde cero Fecha

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

Combinar comentarios y cambios de varios documentos en un documento

Combinar comentarios y cambios de varios documentos en un documento Combinar comentarios y cambios de varios documentos en un documento Si envía un documento a varios revisores para que lo revisen y cada uno de ellos devuelve el documento, puede combinar los documentos

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

El proceso de edición digital en Artelope y CTCE

El proceso de edición digital en Artelope y CTCE El proceso de edición digital en Artelope y CTCE Carlos Muñoz Pons Universitat de València carlos.munoz-pons@uv.es Introducción Una de las cuestiones más importantes a la hora de trabajar en proyectos

Más detalles

Introducción a Visual Studio.Net

Introducción a Visual Studio.Net Introducción a Visual Studio.Net Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones Web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones

Más detalles

La presente documentación está protegida por la legislación vigente en materia de propiedad intelectual prohibiéndose

La presente documentación está protegida por la legislación vigente en materia de propiedad intelectual prohibiéndose Aviso legal La presente documentación está protegida por la legislación vigente en materia de propiedad intelectual prohibiéndose expresamente reproducir, copiar, distribuir, poner a disposición o de cualquier

Más detalles

Tema: Sobrecarga de Operadores.

Tema: Sobrecarga de Operadores. Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen

Más detalles

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: Descripción del ambiente de trabajo Entrar y salir de la aplicación Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes: A través del botón :

Más detalles

EDICIÓN Y FORMATO (II)

EDICIÓN Y FORMATO (II) EDICIÓN Y FORMATO (II) 1. INTRODUCCIÓN Writer dispone de una serie de barras de herramientas predeterminadas, en las que se encuentran botones de acceso directo a comandos específicos que se activan con

Más detalles

Primeros pasos para una configuración rápida de la tienda.

Primeros pasos para una configuración rápida de la tienda. Manual de usuarios Primeros pasos para una configuración rápida de la tienda. Cómo obtener, en pocos pasos, una tienda lista para poder vender: le mostramos lo rápido y sencillo que resulta crear una tienda

Más detalles

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...

Más detalles

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES Joma ha creado una herramienta con la cual, usted, como distribuidor, podrá generar presupuestos de las agrupaciones

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Guía del usuario de DocuShare Email Agent

Guía del usuario de DocuShare Email Agent Guía del usuario de DocuShare Email Agent Fecha de publicación: Febrero de 2011 Este documento cubre DocuShare versión 6.6.1. Preparado por: Xerox Corporation DocuShare Business Unit 3400 Hillview Avenue

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

Transformación de documentos : XSLT

Transformación de documentos : XSLT Transformación de documentos : XSLT XSL : Lenguaje Extensible de Hojas de Estilo, cuyo objetivo principal es mostrar cómo debería estar estructurado el contenido, cómo debería ser diseñado el contenido

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

SISTEMAS OPERATIVOS AVANZADOS

SISTEMAS OPERATIVOS AVANZADOS SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3

Más detalles

Análisis de esquemas XML [1]

Análisis de esquemas XML [1] Análisis de esquemas XML [1] Dirigido a: Administradores de Bases de Datos Área: Bases de Datos Autor: Pablo F. Dueñas Servicios Profesionales Danysoft Resumen Un esquema XML describe la estructura de

Más detalles

Guía básica administrar documentos

Guía básica administrar documentos www.novosoft.es Guía básica administrar documentos Cada administrador de incaweb es responsable de gestionar los documentación bajo su responsabilidad. Dicha gestión incluye la creación, la modificación

Más detalles

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES) Sistema de Gestión Académica TESEO (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES) Revisión 1.0 Servicio de Informática Área de Gestión Mayo de 2004 INDICE INDICE... 1 1 Introducción... 1 2 Procedimiento....

Más detalles

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7 PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7 En esta práctica veremos cómo aplicar transformaciones XSLT a documentos XML. Esta tecnología nos permite hacer algo similar a lo que ya hicimos en

Más detalles

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT . Manual Usuario FCT Murcia, 9 de Julio de 2007 Manual de Usuario FCT v1.0 pág. 2 de 73 ÍNDICE Manual Usuario FCT...1 1. Tipos de usuarios... 4 2. Modelo de navegación... 5 3. Servicios... 6 3.1. Convenios...

Más detalles

SEGUIMIENTO EDUCATIVO. Comunicaciones

SEGUIMIENTO EDUCATIVO. Comunicaciones SEGUIMIENTO EDUCATIVO Comunicaciones Diciembre 2013 Índice 1.INTRODUCCIÓN...1 2.ACCESO...1 3.MENSAJERÍA...2 3.1 Grupos a los que pertenezco...3 3.2 Enviar mensaje...4 3.3 Mis mensajes...7 3.4 Papelera

Más detalles

Práctica 2: Simón dice

Práctica 2: Simón dice Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia

Más detalles

5.1 Introducción a XSL

5.1 Introducción a XSL 5.1 Introducción a XSL Añadir Forma al Contenido (I)! Un documento XML que cumple las normas del dialecto ListaML:

Más detalles

Informática I Notas del curso

Informática I Notas del curso EXCEL Objetivo: Identificar la funcionalidad general de Excel, sus herramientas y recursos Excel Objetivo Particular: Conocer los métodos básicos de trabajo de Excel, para el manejo de registros, datos

Más detalles

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información

Más detalles

Índice general de materias LECCIÓN 7 74

Índice general de materias LECCIÓN 7 74 Índice general de materias LECCIÓN 7 74 BUSCAR 74 BUSCAR CON FORMATO 77 REEMPLAZAR 78 REEMPLAZAR CON FORMATO 79 NOTAS AL PIE DE PÁGINA 79 CONFIGURAR LAS NOTAS 81 INSERTAR NOTAS AL PIE 83 MODIFICAR NOTAS

Más detalles

Ficheros Electrónicos

Ficheros Electrónicos Última actualización: Marzo 11 Versión para Imprimir Ficheros Electrónicos Ver Índice Introducción A continuación detallamos los aspectos funcionales asociados a la gestión de ficheros electrónicos, herramienta

Más detalles

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro USAR MYSQL EN PHP PHP tiene una librería de funciones nativas para conectarse a las base de datos MySQL. Por un lado reconoce la librería mysql y por otro mysqli. Se recomienda el uso de mysqli dado que

Más detalles

DIAGRAMA DE CLASES EN UML

DIAGRAMA DE CLASES EN UML DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Manual de Uso Web profesional

Manual de Uso Web profesional Manual de Uso Web profesional Versión 5 Junio 2015 ÍNDICE 0 Introducción... 3 1 Página principal de Mi área de trabajo... 4 2 Solicitudes... 5 3 Aportaciones... 13 4 Trabajos... 17 5 Los documentos a firmar...

Más detalles

CÓMO CREAR UNA PÁGINA WEB v.1

CÓMO CREAR UNA PÁGINA WEB v.1 CÓMO CREAR UNA PÁGINA WEB v.1 Índice 1 Introducción 1 2 Diseño gráfico 1 3 El lenguaje HTML 1 4 Alojamiento y publicación 2 5 Promoción 5 1 Introducción 2 Diseño gráfico Una página web es un espacio virtual

Más detalles

Tutorial Servicios Web

Tutorial Servicios Web Tutorial Servicios Web 1. Servicios Web con REST Como ya hemos usado SOAP para WebService, podemos afirmar que es bien fácil de diseñar, pero algo complicado de consumir: se necesita toda una API para

Más detalles

Figura 4.1 Clasificación de los lenguajes de bases de datos

Figura 4.1 Clasificación de los lenguajes de bases de datos 1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje

Más detalles

Ingreso al Sistema Administrador

Ingreso al Sistema Administrador Ingreso al Sistema Administrador Para ingresar a esta herramienta se deberá definir un usuario y un password o clave la cual será definida de antemano para usted. Una vez dentro del sistema, usted podrá

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

EXTENSIÓN DE UML PARA APLICACIONES WEB

EXTENSIÓN DE UML PARA APLICACIONES WEB EXTENSIÓN DE UML PARA APLICACIONES WEB 1. Descripción Esta extensión de UML define un conjunto de estereotipos, valores etiquetados y restricciones que nos permiten modelar aplicaciones web. Los estereotipos

Más detalles

Cómo gestionar menús en Drupal 7

Cómo gestionar menús en Drupal 7 Cómo gestionar menús en Drupal 7 Los menús en Drupal son unas herramientas muy poderosas porqué proporcionan maneras para que los visitantes de nuestro sitio puedan llegar a páginas específicas. Estos

Más detalles

PLANES DE EMPRESA ICEX CONSOLIDA. Manual de Usuario

PLANES DE EMPRESA ICEX CONSOLIDA. Manual de Usuario PLANES DE EMPRESA ICEX CONSOLIDA Manual de Usuario INDICE 1. INTRODUCCIÓN... 3 2. VISIÓN GENERAL DEL PROCESO... 3 3. REQUISITOS TÉCNICOS... 4 3.1. Sistema Operativo y Navegador web... 4 3.2. Firma Digital

Más detalles

Microsoft Word 2010. Los formatos son las características que le asignamos a cualquier carácter, a un conjunto de caracteres o a otros elementos.

Microsoft Word 2010. Los formatos son las características que le asignamos a cualquier carácter, a un conjunto de caracteres o a otros elementos. Microsoft Word 2010 Estilos y Formatos A continuación les voy a explicar como utilizar los estilos y formatos en Word, pero antes de esto necesitamos tener en claro que son los estilos y que son los formatos.

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

Un botón puede tener hasta cuatro estados diferentes. Cada estado representa el aspecto del botón en respuesta a un evento del ratón:

Un botón puede tener hasta cuatro estados diferentes. Cada estado representa el aspecto del botón en respuesta a un evento del ratón: Estados de botón Un botón puede tener hasta cuatro estados diferentes. Cada estado representa el aspecto del botón en respuesta a un evento del ratón: El estado Arriba es el estado predeterminado o aspecto

Más detalles

UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS

UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS Guatemala, Julio de 2008 Índice Gestión de equipos...4 Programación física...5 Trabajos por Administración...6

Más detalles

SISTEMA DE BECAS AL EXTERIOR

SISTEMA DE BECAS AL EXTERIOR SISTEMA DE BECAS AL EXTERIOR Manual del Becado En este manual se describen los diferentes procesos que ejecuta el becado en el desarrollo de sus estudios en el exterior. Todos los procesos serán ejecutados

Más detalles

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas. Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.

Más detalles

BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL I

BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL I BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL I [Escriba texto] Contenido INTRODUCCIÓN... 3 CAPÍTULO I: Crear Reportes Desde Carpetas Publicas... 4 CAPÍTULO II: Editar Reportes... 6 CAPÍTULO III: Visualización

Más detalles

Notación UML para modelado Orientado a Objetos

Notación UML para modelado Orientado a Objetos 1 Notación UML para modelado Orientado a Objetos 2 Notación UML para modelado Orientado a Objetos Índice 1.1. Qué es UML?.. 3 1.2. Por qué interesa UML en la asignatura de Programación Orientada a Objetos?3

Más detalles

Hojas de Estilos XSLT en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es

Hojas de Estilos XSLT en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es Hojas de Estilos XSLT en el aula Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es Resumen Según la Orden EDU/2887/2010, de 2 de noviembre, por la que se establece el currículo

Más detalles

Comercial Cartas de Fidelización

Comercial Cartas de Fidelización Comercial Cartas de Fidelización El objetivo es poder enviar, de una forma sencilla a través de e-mail, textos en su idioma a todos los clientes que cumplen determinadas características. En principio,

Más detalles

Fundamentos de la Programación

Fundamentos de la Programación Fundamentos de la Programación El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software

Más detalles

Manual Impress Impress Impress Impress Impress Draw Impress Impress

Manual Impress Impress Impress Impress Impress Draw Impress Impress Manual Impress Se puede definir Impress como una aplicación dirigida fundamentalmente a servir de apoyo en presentaciones o exposiciones de los más diversos temas, proyectando una serie de diapositivas

Más detalles

NORMA 19.14 (SEPA) 22/11/2013

NORMA 19.14 (SEPA) 22/11/2013 NORMA 19.14 (SEPA) 22/11/2013 1. Descripción La aplicación de generación de ficheros de adeudos permite generar fácilmente Órdenes para que su banco efectúe el cobro de recibos a clientes creando una Base

Más detalles

Plantilla de texto plano

Plantilla de texto plano Plantilla de texto plano Esta es la plantilla seleccionada por defecto al crear una nueva página. Título: Es el título que aparecerá identificando a la página, así como en la cabecera del documento en

Más detalles

FOCO GESTIÓN DE GRUPOS

FOCO GESTIÓN DE GRUPOS FOCO GESTIÓN DE GRUPOS MANUAL DE USUARIO CONVENIO DE PRÁCTICAS ÍNDICE 1. INTRODUCCIÓN... 3 2. BÚSQUEDA DE CONVENIOS... 3 3. ALTA CONVENIO... 5 4. MODIFICACIÓN DEL CONVENIO... 18 5. ELIMINAR CONVENIO...

Más detalles

Informática Aplicada a la Gestión de Empresas (IAGE) Parte III Excel e Internet Tema 2

Informática Aplicada a la Gestión de Empresas (IAGE) Parte III Excel e Internet Tema 2 Informática Aplicada a la Gestión de Empresas (IAGE) Parte III Excel e Internet Tema 2 1. Rango de celdas. Definición. Selección Contenido. 2. Referencias relativas, absolutas y mixtas. 3. Gráficos. Creación,

Más detalles

2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU 2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU Antecedentes:... 2 1. Introducción... 3 2. Imágenes que no se visualizan... 3 3. URLs de recursos o actividades que no son autocontenido...

Más detalles

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes VAST: Manual de usuario Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes Índice general Índice general 2 1. Introducción 4 2. Representación intermedia del AST 5 2.1. Funcionamiento del VAST

Más detalles

5.4. Manual de usuario

5.4. Manual de usuario 5.4. Manual de usuario En esta sección se procederá a explicar cada una de las posibles acciones que puede realizar un usuario, de forma que pueda utilizar todas las funcionalidades del simulador, sin

Más detalles

9. Objetos y clases. 9.1. Clases

9. Objetos y clases. 9.1. Clases Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java

Más detalles

Impress : Programa de presentaciones de OpenOffice.

Impress : Programa de presentaciones de OpenOffice. Impress : Programa de presentaciones de OpenOffice. Básicamente Impress es un programa de presentaciones proyectadas a través de diapositivas (pantallas completas) que un orador o ponente puede utilizar

Más detalles

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web. Sesión 01: Introducción a los lenguajes web COMPUTACION E INFORMATICA WEB DEVELOPPER III Competencias a Conseguir: - Introducción general a la programación web. - Conocer y diferenciar el concepto de páginas

Más detalles

Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4

Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 Pág.1 Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 1. Ejercicio 1: Cálculo Financiero (5 ptos.) Desde un banco se le ha encargado

Más detalles

UF0320: Aplicaciones informáticas de tratamiento de textos

UF0320: Aplicaciones informáticas de tratamiento de textos UF0320: Aplicaciones informáticas de tratamiento de textos TEMA 1. Conceptos generales y características fundamentales del programa de tratamiento de textos TEMA 2. Introducción, desplazamiento del cursor,

Más detalles

iseries Operations Navigator Administración de aplicaciones

iseries Operations Navigator Administración de aplicaciones iseries Operations Navigator Administración de aplicaciones iseries Operations Navigator Administración de aplicaciones Copyright International Business Machines Corporation 1998, 2001. Reservados todos

Más detalles

MANUAL BÁSICO DE WRITER

MANUAL BÁSICO DE WRITER MANUAL BÁSICO DE WRITER Los contenidos que vamos a tratar en este pequeño manual son los siguientes: 1. 2. 3. 4. 5. 6. 7. 8. Qué es OpenOffice y qué es Writer? Cómo accedemos a Writer? Principales opciones

Más detalles

APLICACIONES PARA INTERNET

APLICACIONES PARA INTERNET CUN APLICACIONES PARA INTERNET GUIA 1 Juan Carlos Saavedra Serrato 2014 1. Consulte Cuantos tipos de Lenguajes de programación web existen y reseñe una característica de cada uno de ellos. Los diferentes

Más detalles

Instructivo de Microsoft Excel 2003

Instructivo de Microsoft Excel 2003 Instructivo de Microsoft Excel 2003 El presente instructivo corresponde a una guía básica para el manejo del programa y la adquisición de conceptos en relación a este utilitario. Que es Microsoft Excel?

Más detalles

Desarrollo Web en Entorno Servidor

Desarrollo Web en Entorno Servidor Desarrollo Web en Entorno Servidor Tema 1: Introducción 1. Tipos de páginas Web. 2. Instalación del software. (XAMPP) 1 Tipos de páginas Web. Páginas estáticas. Páginas dinámicas. 2 Tipos de páginas Web.

Más detalles

extensible Markup Language (XML)

extensible Markup Language (XML) extensible Markup Language (XML) 1. INTRODUCCIÓN Jennifer Pérez Benedí Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia C/Camino de Vera s/n E-46071 Valencia- España

Más detalles

Manual de usuario. Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras

Manual de usuario. Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras 7 de Enero de 2008 Índice 1. INTRODUCCIÓN 3 2. SECUENCIAS PRINCIPALES A REALIZAR 4 2.1. FLUJO BASICO DE SECUENCIAS

Más detalles

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Manual de ayuda para crear y gestionar Tareas, como actividad evaluable Contenido TAREAS.... 3 CONFIGURACIÓN.... 3 GESTIÓN Y CALIFICACIÓN DE TAREAS.... 8 TAREAS. Mediante esta herramienta podemos establecer

Más detalles

Guía para realizar trabajos universitarios

Guía para realizar trabajos universitarios Guía para realizar trabajos universitarios Recurso de apoyo para el proceso de migración a de la. Este manual fue elaborado para Libre Office Writer Introducción Además puede establecerse que tengan un

Más detalles

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos: Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende

Más detalles

Manual Word 2010. Tablas

Manual Word 2010. Tablas Manual Word 2010 Tablas CONTENIDO Insertar Tabla Seleccionar tablas Eliminar Tablas Agregar - eliminar filas, columnas y celdas Combinar y dividir celdas Dividir tablas Establecer alto y ancho de la celda

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Manual del Profesor Campus Virtual UNIVO

Manual del Profesor Campus Virtual UNIVO Manual del Profesor Campus Virtual UNIVO Versión 2.0 Universidad de Oriente UNIVO Dirección de Educación a Distancia INDICE 1. Campus Virtual. 03 1.1 Accesos al Curso 04 1.2 Interfaz del Curso...06 1.3

Más detalles

Funciones en Excel (II)

Funciones en Excel (II) Funciones en Excel (II) Las Funciones de Texto Jose Ignacio González Gómez Departamento de Economía Financiera y Contabilidad - Universidad de La Laguna www.jggomez.eu INDICE 1 Para qué las funciones de

Más detalles

Software para Seguimiento de Clientes. Descripción del Producto

Software para Seguimiento de Clientes. Descripción del Producto Software para Seguimiento de Clientes Descripción del Producto Descripción del Sistema Es un completo sistema que permite tener un mejor control y manejo sobre clientes antiguos y nuevos, ya que permite

Más detalles

Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008

Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Listados y Etiquetas personalizados de PrefGest WhitePaper Julio 2008 Contenidos 1. Propósito 3 2. Introducción 4 3. Listados personalizados 5 3.1. Ejemplos prácticos 7 3.2. Consideraciones adicionales

Más detalles

Sesiones en PHP. Área de Ingeniería Telemática

Sesiones en PHP. Área de Ingeniería Telemática Sesiones en PHP Contenido Estado de la conexión con el navegador Cookies Sesiones Sesiones en PHP 2 Estado de la conexión con el navegador Cuando el usuario solicita una página que es en verdad un PHP

Más detalles

Manual de aplicación SITE

Manual de aplicación SITE Manual de aplicación SITE 1 Tabla de contenido Manual de aplicación SITE... 1 1. Pantalla inicial... 3 2. Cómo dar de alta un usuario... 4 3. Registro inicial de funcionarios de Administración Local con

Más detalles

FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com

FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com FeriaOnline.com C/Llamaquique Nº 4 Tfno: 985256655 33005 Oviedo mail: info@feriaonline.com Url: www.feriaonline.com 6.1 Creación de materiales con MS Office ÍNDICE: 1.- DOCUMENTACIÓN CON WORD 1.1 Los Hipervínculos

Más detalles

Sistema de Información de Compras y Contrataciones del Estado (SICE) Gestión y búsqueda de pedidos para compras comunes

Sistema de Información de Compras y Contrataciones del Estado (SICE) Gestión y búsqueda de pedidos para compras comunes Sistema de Información de Compras y Contrataciones del Estado (SICE) Gestión y búsqueda de pedidos para compras comunes INFORMACIÓN DE INTERÉS Última actualización: 25-05-2015 Nombre actual del archivo:

Más detalles

Para este ejemplo vamos a crear el marco de aplicación que se presenta en la captura de pantalla siguiente:

Para este ejemplo vamos a crear el marco de aplicación que se presenta en la captura de pantalla siguiente: En este tutor vamos a ver a fondo las posibilidades que nos ofrece el objeto marco; objeto que nos permite definir cómo será el interfaz del usuario cuando ejecuta el proyecto de aplicación con Velneo

Más detalles

Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes:

Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes: Acceso a la aplicación Descripción del ambiente de trabajo Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes: A través del botón Inicio: 1. Seleccionar

Más detalles

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy Capítulo 3: XML Spy como editor de documentos XML 1. Objetivos del capítulo Este capítulo pretende servir como una introducción a las funciones de la aplicación XML Spy, incluida dentro del conjunto de

Más detalles

Elementos de Microsoft Word

Elementos de Microsoft Word Contenido 1. Distintas formas de iniciar Word 2007... 2 2. Ayuda de Word... 2 3. Las barras de herramientas... 3 4. Funcionamiento de las pestañas. Cómo funcionan?... 4 5. Personalizar barra de acceso

Más detalles

HERRAMIENTA DE CONTROL DE PLAGIOS MANUAL DE AYUDA

HERRAMIENTA DE CONTROL DE PLAGIOS MANUAL DE AYUDA HERRAMIENTA DE CONTROL DE PLAGIOS MANUAL DE AYUDA Índice Introducción... 1 Sobre la herramienta Turnitin... 2 Uso de la herramienta Tareas en poliformat... 3 Crear una Tarea para usar con Turnitin....

Más detalles