NAME

blx::xsdsql::xml::generic::column - a generic colum class

SYNOPSIS

use blx::xsdsql::xml::generic::column

DESCRIPTION

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

FUNCTIONS

this module defined the followed functions

new - constructor

PARAMS:
	COLUMN_SEQUENCE - a sequence number into the table - the first column has sequence 0
	XSD_SEQ  - a sequence number into xsd 
	MIN_OCCURS - default 1 
	MAX_OCCURS - default 1
	NAME  - a basename of xml node
	PATH 	- a path name of xml xml node
	PATH_REFERENCE - the referenced by column 
	TABLE_REFERENCE	- the table referenced by column
	INTERNAL_REFERENCE - true if the column is an array of simple types
	PK_SEQ  - sequence position number into the primary key 
	GROUP_REF - true if the column reference a group
	TABLE_NAME - the table name of the column
	CHOICE	- if true the column is part of a choice
	ATTRIBUTE	- if true the column  is an attribute

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_column_sequence - return the sequence into the table - the first column has sequence 0

get_sql_type - return the sql type of the column

get_sql_name - return the sql name of the column

PARAMS: 
	COLUMNNAME_LIST - hash of sql columns name 
		this param is mandatory if the column sql name must be set
	FORCE - force the set of column	sql name

get_min_occurs - return the value of the minoccurs into the xsd schema

get_max_occurs - return the value of the maxoccurs into the xsd schema

is_internal_reference - return true if the column is an array of simple types

is_group_reference - return true if the column reference a xsd group

is_choice - return true if the column is a part of a choice

is_attribute - return true if the column is an attribute

get_path - return the node path name

get_path_reference - return the path referenced

get_table_reference - return the table referenced

get_table_name - return the table name of the column

is_pk - return true if the column is part of the primary key

get_pk_seq - return the sequence into the primary key

get_xsd_seq - return a sequence number into a choice

factory_column - factory a generic column object

	the first argument must be  ID|SEQ|VALUE|undef
		ID    - factory the first column of a primary key 
		SEQ  - factory the second column of a primary key
		VALUE - factory a generic value column
		undef - factory a user custom column 
					other params must be NAME,SQL_TYPE and optionally SQL_SIZE
	the method return an object  of the same type of the self object
 

factory_sql_type - factory a generic sql type

the first argument must be   VARCHAR|CHAR|NUMBER|DOUBLE|FLOAT|DECIMAL|DATETIME|DATE|TIME|GYEAR|GYEARMONTH|GMONTHDAY|BOOLEAN
the method return a string 

factory_dictionary_columns - factory the columns dictionary

the first argument must be:
	TABLE_DICTIONARY - factory columns for table dictionary
	COLUMN_DICTIONARY - factory columns for column dictionary
	RELATION_DICTIONARY - factory columns for relation dictionary

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

the first argument must be:
	COLUMN_DICTIONARY - return data for column dictionary (except TABLE_NAME)
			

	 

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