NAME
blx::xsdsql::schema - a schema is a class with include the common objects and search methods
SYNOPSIS
use blx::xsdsql::schema
DESCRIPTION
this package is a class - instance it with the method new
FUNCTIONS
this module defined the followed functions
new - constructor standard params: TYPES - set an array of tables type TABLE_DICTIONARY - set/get the dictionary of the tables COLUMN_DICTIONARY - set/get the dictionary of the columns RELATION_DICTIONARY - set/get the dictionary of the relations ROOT - set/get the root table SEQUENCE - set/get the sequence object
set_attrs_value - set a value of attributes
the arguments are a pairs NAME => VALUE
the method return a self object
get_attrs_value - return a list of attributes values
the arguments are a list of attributes name
get_types_name - return an hash of object types - the key are names
get_types_path - return an hash of object types - the key are node path
resolve_path - return the table and the column associated to the the pathnode the method return an array ref if the path is associated to a tables otherwise return an hash if the path is associated to a column
arguments
absolute node path
params:
DEBUG - emit debug info
resolve_column_link - return the column link a tables
arguments
parent table
child table
resolve_attributes - return columns that bind node attributes
the arguments are a table name and a attribute node name list
get_root_table - return the root table objects
get_dictionary_table - return a dictionary object the first argument is a constant string TABLE_DICTIONARY|COLUMN_DICTIONARY|RELATION_DICTIONARY
get_sequence_name - return the sequence name associated to the root table
mapping_paths - mapping the all path node to tables and columns
params:
DEBUG - emit debug info
the method return the self object
EXPORT
None by default.
EXPORT_OK
None
SEE ALSO
blx::xsdsql::path_map - mapping a xml path to table/column
AUTHOR
lorenzo.bellotti, <pauseblx@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2011 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