NAME

blx::xsdsql::xml::generic::table - a generic table class

SYNOPSIS

use blx::xsdsql::xml::generic::table

DESCRIPTION

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

FUNCTIONS

this module defined the followed functions

new - contructor

PARAMS: 
	COLUMNS  			- a pointer too an array of  column objects (default [])
	CHILD_TABLES 		- pointer too an array of table objects (default [])
	XSD_SEQ  			- a XSD_SEQ start number 
	TABLE_IS_TYPE 		- the table is associated with type (simple or complex)
	SIMPLE_TYPE 		- the table is associated with a simple type
	GROUP_TYPE  		- the table is associated to an xsd group
	CHOISE 				- the table is associated to a choise
	MINOCCURS 			- the table as a minoccurs 
	MAXOCCURS 			- the table as a maxoccurs
	PATH    			- a node path name 
	TYPE 				- an internal node type
	NAME 				- a node name 
	DEEP_LEVEL			- a deep level - the root has level 0
	INTERNAL_REFERENCE  - if true the the table is an occurs of simple types
	TYPES  				- a pointer to an array of table types (only for root)
	TABLE_DICTIONARY 	- a pointer to table dictionary (only for root)
	COLUMN_DICTIONARY 	- a pointer to column dictionary (only for root)
	RELATION_DICTIONARY - a pointer to a relation dictionary (only for root)
	

add_columns - add columns to a table

the method return a self object

get_columns - return an array of columns object

add_child_tables - add child tables to a table

the method return a self object

resolve_path_for_table_type - if the table is associated with a type use this method to return the real path associated

	the method return a string
 
 

find_columns - find columns that match the pairs attributes => value

the method return an array of columns object

get_child_tables - return an array of child tables

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_sql_name - return the sql name

get_constraint_name - return a constraint name

the first argument must be the constant 'pk' (primary key)

get_path_resolved - return a resolved path name associated

get_table_from_path_reference - return a table associated to a path - the path must be a child path

the first argument is a path reference 
params -
	ROOT_TABLE - if is specified search the tables also into the types;

get_pk_columns - return the primary key columns

is_type - return true if the table is associated to a xsd type

is_simple_type - return true if the table is associated to a xsd simple type

is_choise - return true if the table is associated to a xsd choise

get_xsd_seq - return the start xsd sequence

get_min_occurs - return the min occurs of the table

get_max_occurs - return the max occurs of the table

get_path - return the xml path associated with table

get_dictionary_data - return an hash of dictionary column name => value for the insert into dictionary

the first argument must be:
	TABLE_DICTIONARY - return data for table dictionary
	RELATION_DICTIONARY - return data for relation dictionary
	COLUMN_DICTIONARY - return data for column dictionary

get_deep_level - return the deep level - the root has level 0

is_internal_reference - return true if the the table is an occurs of simple types

is_unpath - return true if the table is not associated to a path

EXPORT

None by default.

EXPORT_OK

none

SEE ALSO

See blx::xsdsql::xml::generic::catalog, it's the base class

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>

COPYRIG

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