NAME

blx::xsdsql::xml - read/write xml file from/to sql database

SYNOPSIS

use blx::xsdsql::xml

DESCRIPTION

this package is a class - instance it with the method new

VERSION

0.10.0

FUNCTIONS

this module defined the followed functions

new - constructor

PARAMS:
    XMLWRITER                  => instance of class XML::Writer
                                    if is not set the object is instance automatically
    XMLPARSER                  => instance of class XML::Parser
                                    if is not set the object is instance automatically
    OUTPUT_NAMESPACE        => output namespace (default 'sql')
    DB_NAMESPACE             => database namespace
    DB_CONN                 => DBI connection
    SCHEMA                   => schema object
    EXECUTE_OBJECTS_PREFIX     => prefix for objects in execution
    EXECUTE_OBJECTS_SUFFIX     => suffix for objects in execution
    DEBUG                    => emit debug info

read - read a xml file and put into the database

PARAMS:
    FD   =>  input file description (default stdin)
the method return the id inserted into the  root table

write - write a xml file from database

PARAMS:
    FD                             =>  output file descriptor (default stdout)
    ROOT_ID                        => root_id - the result of the method read
    DELETE_ROWS                 => if true write to FD and delete the rows from the database
    ROOT_TAG_PARAMS               => force a hash or array of key/value for root tag in write xml
    HANDLE_BEFORE_XMLDECL        => pointer sub called before xmlDecl
    HANDLE_AFTER_XMLDECL            => pointer sub called after xmlDecl
    HANDLE_BEFORE_START_NODE    => pointer sub called before a start node is write
    HANDLE_AFTER_START_NODE     => pointer sub called after a start node  is write
    HANDLE_BEFORE_END_NODE      => pointer sub called before a end node is write
    HANDLE_AFTER_END_NODE       => pointer sub called after a end node  is write
    HANDLE_BEFORE_DATA_ELEMENT    => pointer sub called before write dataElement
    HANDLE_AFTER_DATA_ELEMENT    => pointer sub called after write dataElement
    HANDLE_BEFORE_END              => pointer sub called before end of document
    HANDLE_AFTER_END              => pointer sub called after end of document
    NO_WRITE_HEADER                => if true not write the xml header
    NO_WRITE_FOOTER                => if true not write the xml footer

the method return the self object if root_id exist in the database else return undef

finish - close the sql statements prepared

the method return the self object

EXPORT

None by default.

EXPORT_OK

none

SEE ALSO

See blx:.xsdsql::generator for generate the schema of the database and blx::xsdsql::parser for parse a xsd file (schema file)

AUTHOR

lorenzo.bellotti, <pauseblx@gmail.com>

COPYRIGHT

Copyright (C) 2010 by lorenzo.bellotti

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html