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