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