Clase VXmlWriter para vJavaScript de Velneo V7

Esta es la primera de las clases para Xml. Nos permite generar un fichero Xml con el contenido de una lista.

Para empezar hay que contruir el objeto VXmlWriter con new pasandole como parametro un objeto de la clase VRegisterList.

El codec por defecto es “UTF-8″. Para cambiarlo por ejemplo a UTF-16, llamar a la funcion setCodec( “UTF-16″ ). Hay una lista de los codes disponibles más abajo.

Si no se usa la función setDocType(“mytype”) no se incluirá la cabecera opcional <!DOCTYPE mytype>.

Por defecto el texto es formateado con saltos de linea e indentación. Para cancelarlo usar la función setAutoFormatting( false ). Con la función setAutoFormattingIndent( n ) ajustamos el numero de espacios o tabs de indentación. Si usamos valores positivos para n representan espacios y si son negativos tabs. Por defecto la indentación son 4 espacios.

Con la función addInitialTag( “tag”) le añadimos uno o varios tags, llamando varias veces a la función, que envuelven a los registros de la lista. Lo normal es usar una con el nombre de la tabla.

Con la función setRowTag( “tag” ) le decimos la etiqueta que ha de envolver a cada registro. Si no se usa por defecto es “row”.

A continuación con las funciones addField( “tagCol”, “IDCOMPUESTOCAMPO”) y addFormula( “tagCol”, “Formula” ) le añadimos tantas columnas como queramos por registro.

Y ya solo nos queda llamar a la función writeFile( “file.xml” ); para que nos lo escriba en disco.

Funciones:

Constructor

Inicializacion

  • void setCodec( String szCodecName );
  • void setDocType( String szType );
  • void setAutoFormatting( Boolean bSet );
  • void setAutoFormattingIndent( Number nSpacesOrTabs );
  • void addInitialTag( String szTag );
  • void setRowTag( String szTag );
  • void addField( String szTag, String szIdCampoCompuesto );
  • void addFormula( String szTag, String szFormula );

Operaciones

  • Boolean writeFile( String szPath );
  • String writeToString();

Codec Names:

  • Apple Roman
  • Big5
  • Big5-HKSCS
  • CP949
  • EUC-JP
  • EUC-KR
  • GB18030-0
  • IBM 850
  • IBM 866
  • IBM 874
  • ISO 2022-JP
  • ISO 8859-1 to 10
  • ISO 8859-13 to 16
  • Iscii-Bng, Dev, Gjr, Knd, Mlm, Ori, Pnj, Tlg, and Tml
  • JIS X 0201
  • JIS X 0208
  • KOI8-R
  • KOI8-U
  • MuleLao-1
  • ROMAN8
  • Shift-JIS
  • TIS-620
  • TSCII
  • UTF-8
  • UTF-16
  • UTF-16BE
  • UTF-16LE
  • UTF-32
  • UTF-32BE
  • UTF-32LE
  • Windows-1250 to 1258
  • WINSAMI2

Ejemplos:

1: Exportar una lista a xml

var xml = new VXmlWriter( theRegisterListIn );
xml.setDocType( "myType" );
xml.addInitialTag( "Corredores" );
xml.setRowTag( "row" );
xml.addField( "Nombre", "NAME" );
xml.addField( "Equipo", "EQUIPO.NAME" );
xml.addField( "Pais", "PAIS.NAME" );
....
xml.writeFile( "filename.xml" );

Produce el siguiente fichero xml

2: Exportar una lista de cualquier tabla con todos sus campos

var xml = new VXmlWriter( theRegisterListIn );
xml.addInitialTag( theRegisterListIn.tableInfo().id() );
xml.setRowTag( "row" );

var ti = theRegisterListIn.tableInfo();

for (var col=0; col < ti.fieldCount(); ++col)
    xml.addField( ti.fieldName(col), ti.fieldId(col) );

xml.writeFile( "filename.xml" );
About these ads
Envía un comentario o deja una ruta: Trackback URL.

Comentarios

  • Pepeto  En 29 diciembre, 2011 a las 21:52

    Simplemente genial!!!

  • Francisco Hoyos  En 29 diciembre, 2011 a las 22:59

    Esto está que arde… Amigos, este próximo año vamos a descubrir otra herramienta de desarrollo. Lo siento por los que llevan tanto tiempo peleando para dominar v7. El vArquitecto está construyendo otra desde dentro, desde las entrañas de la primera versión… yo diría que se acaba de abrir la Caja de Pandora y se va a montar el lío gordo… esto no me lo pierdo por nada… jajajaja

    • Francisco Hoyos  En 29 diciembre, 2011 a las 23:00

      Si la primera era buena, lo que se vislumbra de la segunda… es la bomba…

  • Giuseppe  En 30 diciembre, 2011 a las 0:30

    Vaya currada te estas pegando

    Esta claro que javascript es lo que se usara en velneo en cuanto este disponible.

    Sigue asi.

  • Jorge Hontoria  En 30 diciembre, 2011 a las 11:16

    No se te olvide el tema del Encoding (a la hora de guardar el fichero). Es importante que podamos decidir en ejecución en que codificación queremos guardar el fichero.

    Buen trabajo.

  • Jorge Hontoria  En 30 diciembre, 2011 a las 11:20

    Estaría bien poder decidir si un campo se formatea como elemento del elemento padre o como atributo.

    También estaría bien que podamos añadir atributos a cualquier elemento del fichero a generar.

  • jcobos  En 30 diciembre, 2011 a las 14:40

    @jorgehontoria El encoding con la función setCodec. Hasta he dejado una lista de los nombres de los codec disponibles. En cuanto a los atributos lo documentaré en el siguiente post de xml

  • Jorge Hontoria  En 30 diciembre, 2011 a las 19:32

    Muchas gracias… entendí mal el tema del setCodec, pensé que solo cambiaba el literal del header.

Trackbacks

  • Por Pepeto's blog » Blog Archive » Comienza el 2012 el 1 enero, 2012 a las 9:56

    [...] Generar y parsear XML, que queda completamente resuelta con la integración de JavaScript y las nuevas funciones creadas especialmente para ello: vXmlWriter. [...]

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 29 seguidores

%d bloggers like this: