Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-07-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Insertar título a un documento XML

¡Buen día a todos!

Mientras estudio XML, aprovecho para hacer esta pregunta:

¿Cómo se puede insertar un texto en la parte superior de un documento XML, a manera de título?

Deseo que dicho título se muestre centralizado en la parte superior, cuando el documento sea abierto con un navegador o Excel.

Actualmente estudio la forma de hacerlo con un componente TXMLDocument (página Internet de la paleta de componentes).

Muchas gracias por sus aportaciones.

Seguimos en contacto.

Al González .

Última edición por Al González fecha: 12-07-2004 a las 23:00:24.
Responder Con Cita
  #2  
Antiguo 12-07-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Hola Al,

Hasta donde yo entiendo, XML sirve para almacenar y organizar información, no para visualizar. Si lo que quieres es visualizar los datos que contiene un XML en un navegador quizás deberías mirar XSL que es un filtro para HTML.

No digo que no puedas conseguir algo que te sirva, simplemente no entiendo el propósito.

Saludos.
Responder Con Cita
  #3  
Antiguo 13-07-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile XML también es un formato de presentación de datos

¡Buen día!

Utilizo una rejilla de datos TCXGrid (Quantum Grid 4) de la biblioteca Developer Express.

La biblioteca contiene una función llamada ExportGrid4ToXML que sirve para exportar (guardar como) la información mostrada por una rejilla, como archivo XML.

En mi aplicación, el usuario puede elegir entre cuatro formatos de exportación: Excel (.xls), Web (.htm), texto (.txt) y XML (.xml). Cuando el usuario ordena la operación, la aplicación le solicita el título que deberá tener el documento resultante.

Entiendo que XML es un formato de almacenamiento de datos, pero también observo que, en muchas ocaciones, se utiliza también como un formato de presentación de datos, es decir, como formato de documento. De tal suerte que cuando un archivo generado con la función ExportGrid4ToXML es abierto con Excel o con un navegador de Internet, los datos contenidos en ese archivo se presentan con la misma apariencia que tenían en la rejilla de la aplicación.

Entonces, lo que busco es agregar el título que indicó el usuario, como primera línea de ese documento.

Aquí un extracto de uno de esos archivos .xml:
Código:
...
<LINES ColCount="64" RowCount="20">
<LINE>
<CELL Width="158" Align="center" ColSpan="4" StyleClass="10">Proyecto</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Enero</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Febrero</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Marzo</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Abril</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Mayo</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Junio</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Julio</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Agosto</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Septiembre</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Octubre</CELL>
<CELL Width="320" Align="center" ColSpan="5" StyleClass="10">Noviembre</CELL>
<CELL Width="341" Align="center" ColSpan="5" StyleClass="10">Diciembre</CELL>
</LINE><LINE>
...

Muchas gracias por sus aportaciones. Seguimos en contacto.

Al González .
Responder Con Cita
  #4  
Antiguo 13-07-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Hola de nuevo,

imagino que el resultado de esta exportación es un XML sin restricciones, es decir, no existe ningún schema o DTD que defina cuál es la estructura que tiene este documento. En caso que exista una definición de la estructura del documento, no podrás hacer lo que quieres, porqué por el hecho de añadir una línea estarías violando el formato establecido.

Lo que tu quieres hacer es algo como esto?

Código:
<DOCUMENT Title="Nombre definido por el usuario> -> Esta sería la nueva línea
  <LINES ColCount = "64" RowCount="20">
     <LINE>...
  </LINES>
</DOCUMENT>
Saludos.
Responder Con Cita
  #5  
Antiguo 13-07-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile "Hoja de estilos XSL"

¡Hola de nuevo!

Agrego que cuando se genera el archivo .xml, se crea junto con él un archivo con extensión .xsl (Hoja de estilos XSL), que efectivamente complementa (y es necesario para) el formato de presentación de datos del archivo XML.

Aquí el comienzo del archivo Consulta_xml.xsl, generado para el archivo Consulta.xml:
Código:
<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates select="CACHE" />
</xsl:template>

<xsl:template match="CACHE">
<html>
<head>
<xsl:apply-templates select="TITLE" />
<xsl:apply-templates select="STYLES" />
</head>
<body>
<xsl:apply-templates select="LINES" />
</body>
</html>
</xsl:template>

<xsl:template match="TITLE">
<title>
<xsl:value-of select="." />
</title>
</xsl:template>
...

Muchas gracias por sus aportaciones. Seguiremos informando .

Al González .
Responder Con Cita
  #6  
Antiguo 13-07-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Ah amigo!! Tienes un XSL!

Entonces es muy fácil, porqué el XSL es solo un filtro que te formatea los datos para HTML.

Fíjate que en medio del documento tienes un <html> y un <body>. Luego puedes añadir múltiples tags html, como por ejemplo un header <h1> donde puedas poner el título.

Eso es tan sencillo que no creo ni que te valga la pena manipular el documento xsl mediante el componente TXMLDocument, creo que tratándolo como el fichero de texto que es puedes conseguir el resultado deseado.

Espero que te sirva.

Un saludo!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:58:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi