XSLT.NET XSLT en.net.
|
|
- Víctor Manuel Navarrete Villanueva
- hace 8 años
- Vistas:
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 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 detallesXPath 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 detallesWebServices 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 detallesNOTIFICACIÓ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 detallesOperació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 detallesGENERAR 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 detallesCorrespondencias 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 detallesCentro 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 detallesCASO 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 detallesCombinar 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 detallesIntroducció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 detallesEl 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 detallesIntroducció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 detallesLa 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 detallesTema: 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 detallesPara 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 detallesEDICIÓ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 detallesPrimeros 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 detallesManual 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 detallesMANUAL 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 detallesLABORATORIO 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 detallesGuí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 detallesTema 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 detallesTransformació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 detallesEn 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 detallesSISTEMAS 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 detallesAná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 detallesGuí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 detallesSistema 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 detallesPROCESADORES 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 detallesRegió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 detallesSEGUIMIENTO 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 detallesPrá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 detalles5.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 detallesInformá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 detallesOperació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 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 detallesFicheros 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 detallesEsta 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 detallesDIAGRAMA 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 detallesLa 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 detallesManual 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 detallesCÓ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 detallesTutorial 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 detallesFigura 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 detallesIngreso 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 detalles11. 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 detallesEXTENSIÓ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 detallesCó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 detallesPLANES 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 detallesMicrosoft 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 detallesMATERIAL 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 detallesUn 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 detallesUNIDAD 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 detallesSISTEMA 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 detallesPara 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 detallesBUSINESS 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 detallesNotació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 detallesHojas 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 detallesComercial 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 detallesFundamentos 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 detallesManual 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 detallesNORMA 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 detallesPlantilla 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 detallesFOCO 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 detallesInformá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 detalles2011-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 detallesVAST: 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 detalles5.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 detalles9. 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 detallesImpress : 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 detalles1.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
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 detallesUF0320: 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 detallesiseries 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 detallesMANUAL 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 detallesAPLICACIONES 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 detallesInstructivo 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 detallesDesarrollo 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 detallesextensible 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 detallesManual 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 detallesManual 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 detallesGuí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 detallesTutorial 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 detallesManual 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 detallesModulo 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 detallesManual 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 detallesFunciones 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 detallesSoftware 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 detallesListados 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 detallesSesiones 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 detallesManual 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 detallesFeriaOnline.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 detallesSistema 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 detallesPara 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 detallesPara 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 detallesCapí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 detallesElementos 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 detallesHERRAMIENTA 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