TYPO3 CMS  TYPO3_6-2
adoSchema Class Reference

Public Member Functions

 adoSchema ( $db)
 
 SetUpgradeMethod ( $method='')
 
 ExecuteInline ( $mode=NULL)
 
 ContinueOnError ( $mode=NULL)
 
 ParseSchema ( $filename, $returnSchema=FALSE)
 
 ParseSchemaFile ( $filename, $returnSchema=FALSE)
 
 ParseSchemaString ( $xmlstring, $returnSchema=FALSE)
 
 RemoveSchema ( $filename, $returnSchema=FALSE)
 
 RemoveSchemaString ( $schema, $returnSchema=FALSE)
 
 ExecuteSchema ( $sqlArray=NULL, $continueOnErr=NULL)
 
 PrintSQL ( $format='NONE')
 
 SaveSQL ( $filename='./schema.sql')
 
 create_parser ()
 
 _tag_open (&$parser, $tag, $attributes)
 
 _tag_cdata (&$parser, $cdata)
 
 _tag_close (&$parser, $tag)
 
 ConvertSchemaString ( $schema, $newVersion=NULL, $newFile=NULL)
 
 _file_get_contents ($path)
 
 ConvertSchemaFile ( $filename, $newVersion=NULL, $newFile=NULL)
 
 TransformSchema ( $schema, $xsl, $schematype='string')
 
 xslt_error_handler ( $parser, $errno, $level, $fields)
 
 SchemaFileVersion ( $filename)
 
 SchemaStringVersion ( $xmlstring)
 
 ExtractSchema ( $data=FALSE)
 
 SetPrefix ( $prefix='', $underscore=TRUE)
 
 prefix ( $name='')
 
 supportedPlatform ( $platform=NULL)
 
 clearSQL ()
 
 addSQL ( $sql=NULL)
 
 getSQL ( $format=NULL, $sqlArray=NULL)
 
 Destroy ()
 
 adoSchema ( $db)
 
 SetUpgradeMethod ( $method='')
 
 ExistingData ( $mode=NULL)
 
 ExecuteInline ( $mode=NULL)
 
 ContinueOnError ( $mode=NULL)
 
 ParseSchema ( $filename, $returnSchema=FALSE)
 
 ParseSchemaFile ( $filename, $returnSchema=FALSE)
 
 ParseSchemaString ( $xmlstring, $returnSchema=FALSE)
 
 RemoveSchema ( $filename, $returnSchema=FALSE)
 
 RemoveSchemaString ( $schema, $returnSchema=FALSE)
 
 ExecuteSchema ( $sqlArray=NULL, $continueOnErr=NULL)
 
 PrintSQL ( $format='NONE')
 
 SaveSQL ( $filename='./schema.sql')
 
 create_parser ()
 
 _tag_open (&$parser, $tag, $attributes)
 
 _tag_cdata (&$parser, $cdata)
 
 _tag_close (&$parser, $tag)
 
 ConvertSchemaString ( $schema, $newVersion=NULL, $newFile=NULL)
 
 ConvertSchemaFile ( $filename, $newVersion=NULL, $newFile=NULL)
 
 TransformSchema ( $schema, $xsl, $schematype='string')
 
 xslt_error_handler ( $parser, $errno, $level, $fields)
 
 SchemaFileVersion ( $filename)
 
 SchemaStringVersion ( $xmlstring)
 
 ExtractSchema ( $data=FALSE, $indent=' ', $prefix='', $stripprefix=false)
 
 SetPrefix ( $prefix='', $underscore=TRUE)
 
 prefix ( $name='')
 
 supportedPlatform ( $platform=NULL)
 
 clearSQL ()
 
 addSQL ( $sql=NULL)
 
 getSQL ( $format=NULL, $sqlArray=NULL)
 
 Destroy ()
 

Public Attributes

 $sqlArray
 
 $db
 
 $dict
 
 $currentElement = ''
 
 $upgrade = ''
 
 $objectPrefix = ''
 
 $mgq
 
 $debug
 
 $versionRegex = '/<schema.*?( version="([^"]*)")?.*?>/'
 
 $schemaVersion
 
 $success
 
 $executeInline
 
 $continueOnError
 
 $existingData
 

Detailed Description

Definition at line 1218 of file adodb-xmlschema.inc.php.

Member Function Documentation

◆ _file_get_contents()

adoSchema::_file_get_contents (   $path)

Definition at line 1734 of file adodb-xmlschema.inc.php.

◆ _tag_cdata() [1/2]

adoSchema::_tag_cdata ( $parser,
  $cdata 
)

XML Callback to process CDATA elements

private

Definition at line 1679 of file adodb-xmlschema.inc.php.

◆ _tag_cdata() [2/2]

adoSchema::_tag_cdata ( $parser,
  $cdata 
)

XML Callback to process CDATA elements

private

Definition at line 1838 of file adodb-xmlschema03.inc.php.

◆ _tag_close() [1/2]

adoSchema::_tag_close ( $parser,
  $tag 
)

XML Callback to process end elements

private

Definition at line 1688 of file adodb-xmlschema.inc.php.

◆ _tag_close() [2/2]

adoSchema::_tag_close ( $parser,
  $tag 
)

XML Callback to process end elements

private

Definition at line 1847 of file adodb-xmlschema03.inc.php.

◆ _tag_open() [1/2]

adoSchema::_tag_open ( $parser,
  $tag,
  $attributes 
)

XML Callback to process start elements

private

Definition at line 1656 of file adodb-xmlschema.inc.php.

References dbObject\supportedPlatform().

◆ _tag_open() [2/2]

adoSchema::_tag_open ( $parser,
  $tag,
  $attributes 
)

XML Callback to process start elements

private

Definition at line 1813 of file adodb-xmlschema03.inc.php.

References dbObject\supportedPlatform().

◆ addSQL() [1/2]

adoSchema::addSQL (   $sql = NULL)

Adds SQL into the SQL array.

Parameters
mixed$sqlSQL to Add
Returns
boolean TRUE if successful, else FALSE.

private

Definition at line 2134 of file adodb-xmlschema.inc.php.

References $sql, and debug().

◆ addSQL() [2/2]

adoSchema::addSQL (   $sql = NULL)

Adds SQL into the SQL array.

Parameters
mixed$sqlSQL to Add
Returns
boolean TRUE if successful, else FALSE.

private

Definition at line 2315 of file adodb-xmlschema03.inc.php.

References $sql, and debug().

◆ adoSchema() [1/2]

adoSchema::adoSchema (   $db)

Creates an adoSchema object

Creating an adoSchema object is the first step in processing an XML schema. The only parameter is an ADOdb database connection object, which must already have been created.

Parameters
object$dbADOdb database connection object.

Definition at line 1304 of file adodb-xmlschema.inc.php.

References debug().

◆ adoSchema() [2/2]

adoSchema::adoSchema (   $db)

Creates an adoSchema object

Creating an adoSchema object is the first step in processing an XML schema. The only parameter is an ADOdb database connection object, which must already have been created.

Parameters
object$dbADOdb database connection object.

Definition at line 1408 of file adodb-xmlschema03.inc.php.

References debug().

◆ clearSQL() [1/2]

adoSchema::clearSQL ( )

Clears the array of generated SQL.

private

Definition at line 2122 of file adodb-xmlschema.inc.php.

◆ clearSQL() [2/2]

adoSchema::clearSQL ( )

Clears the array of generated SQL.

private

Definition at line 2303 of file adodb-xmlschema03.inc.php.

◆ ContinueOnError() [1/2]

adoSchema::ContinueOnError (   $mode = NULL)

Enables/disables SQL continue on error.

Call this method to enable or disable continuation of SQL execution if an error occurs. If the mode is set to TRUE (continue), AXMLS will continue to apply SQL to the database, even if an error occurs. If the mode is set to FALSE (halt), AXMLS will halt execution of generated sql if an error occurs, though parsing of the schema will continue.

Parameters
bool$modeexecute
Returns
bool current continueOnError mode
See also
addSQL(), ExecuteSchema()

Definition at line 1399 of file adodb-xmlschema.inc.php.

◆ ContinueOnError() [2/2]

adoSchema::ContinueOnError (   $mode = NULL)

Enables/disables SQL continue on error.

Call this method to enable or disable continuation of SQL execution if an error occurs. If the mode is set to TRUE (continue), AXMLS will continue to apply SQL to the database, even if an error occurs. If the mode is set to FALSE (halt), AXMLS will halt execution of generated sql if an error occurs, though parsing of the schema will continue.

Parameters
bool$modeexecute
Returns
bool current continueOnError mode
See also
addSQL(), ExecuteSchema()

Definition at line 1545 of file adodb-xmlschema03.inc.php.

◆ ConvertSchemaFile() [1/2]

adoSchema::ConvertSchemaFile (   $filename,
  $newVersion = NULL,
  $newFile = NULL 
)

Converts an XML schema file to the specified DTD version.

Call this method to convert the specified XML schema file to a different AXMLS DTD version. For instance, to convert a schema created for an pre-1.0 version for AXMLS (DTD version 0.1) to a newer version of the DTD (e.g. 0.2). If no DTD version parameter is specified, the schema will be converted to the current DTD version. If the newFile parameter is provided, the converted schema will be written to the specified file.

See also
ConvertSchemaString()
Parameters
string$filenameName of XML schema file that will be converted.
string$newVersionDTD version to convert to.
string$newFileFile name of (converted) output file.
Returns
string Converted XML schema or FALSE if an error occurs.

Definition at line 1756 of file adodb-xmlschema.inc.php.

References $result, and _file_get_contents().

◆ ConvertSchemaFile() [2/2]

adoSchema::ConvertSchemaFile (   $filename,
  $newVersion = NULL,
  $newFile = NULL 
)

Converts an XML schema file to the specified DTD version.

Call this method to convert the specified XML schema file to a different AXMLS DTD version. For instance, to convert a schema created for an pre-1.0 version for AXMLS (DTD version 0.1) to a newer version of the DTD (e.g. 0.2). If no DTD version parameter is specified, the schema will be converted to the current DTD version. If the newFile parameter is provided, the converted schema will be written to the specified file.

See also
ConvertSchemaString()
Parameters
string$filenameName of XML schema file that will be converted.
string$newVersionDTD version to convert to.
string$newFileFile name of (converted) output file.
Returns
string Converted XML schema or FALSE if an error occurs.

Definition at line 1916 of file adodb-xmlschema03.inc.php.

References $result, and _file_get_contents().

◆ ConvertSchemaString() [1/2]

adoSchema::ConvertSchemaString (   $schema,
  $newVersion = NULL,
  $newFile = NULL 
)

Converts an XML schema string to the specified DTD version.

Call this method to convert a string containing an XML schema to a different AXMLS DTD version. For instance, to convert a schema created for an pre-1.0 version for AXMLS (DTD version 0.1) to a newer version of the DTD (e.g. 0.2). If no DTD version parameter is specified, the schema will be converted to the current DTD version. If the newFile parameter is provided, the converted schema will be written to the specified file.

See also
ConvertSchemaFile()
Parameters
string$schemaString containing XML schema that will be converted.
string$newVersionDTD version to convert to.
string$newFileFile name of (converted) output file.
Returns
string Converted XML schema or FALSE if an error occurs.

Definition at line 1708 of file adodb-xmlschema.inc.php.

References $result.

◆ ConvertSchemaString() [2/2]

adoSchema::ConvertSchemaString (   $schema,
  $newVersion = NULL,
  $newFile = NULL 
)

Converts an XML schema string to the specified DTD version.

Call this method to convert a string containing an XML schema to a different AXMLS DTD version. For instance, to convert a schema created for an pre-1.0 version for AXMLS (DTD version 0.1) to a newer version of the DTD (e.g. 0.2). If no DTD version parameter is specified, the schema will be converted to the current DTD version. If the newFile parameter is provided, the converted schema will be written to the specified file.

See also
ConvertSchemaFile()
Parameters
string$schemaString containing XML schema that will be converted.
string$newVersionDTD version to convert to.
string$newFileFile name of (converted) output file.
Returns
string Converted XML schema or FALSE if an error occurs.

Definition at line 1867 of file adodb-xmlschema03.inc.php.

References $result.

◆ create_parser() [1/2]

adoSchema::create_parser ( )

Create an xml parser

Returns
object PHP XML parser object

private

Definition at line 1639 of file adodb-xmlschema.inc.php.

◆ create_parser() [2/2]

adoSchema::create_parser ( )

Create an xml parser

Returns
object PHP XML parser object

private

Definition at line 1796 of file adodb-xmlschema03.inc.php.

◆ Destroy() [1/2]

adoSchema::Destroy ( )

Destroys an adoSchema object.

Call this method to clean up after an adoSchema object that is no longer in use.

Deprecated:
adoSchema now cleans up automatically.

Definition at line 2202 of file adodb-xmlschema.inc.php.

◆ Destroy() [2/2]

adoSchema::Destroy ( )

Destroys an adoSchema object.

Call this method to clean up after an adoSchema object that is no longer in use.

Deprecated:
adoSchema now cleans up automatically.

Definition at line 2383 of file adodb-xmlschema03.inc.php.

◆ ExecuteInline() [1/2]

adoSchema::ExecuteInline (   $mode = NULL)

Enables/disables inline SQL execution.

Call this method to enable or disable inline execution of the schema. If the mode is set to TRUE (inline execution), AXMLS applies the SQL to the database immediately as each schema entity is parsed. If the mode is set to FALSE (post execution), AXMLS parses the entire schema and you will need to call adoSchema::ExecuteSchema() to apply the schema to the database.

Parameters
bool$modeexecute
Returns
bool current execution mode
See also
ParseSchema(), ExecuteSchema()

Definition at line 1378 of file adodb-xmlschema.inc.php.

◆ ExecuteInline() [2/2]

adoSchema::ExecuteInline (   $mode = NULL)

Enables/disables inline SQL execution.

Call this method to enable or disable inline execution of the schema. If the mode is set to TRUE (inline execution), AXMLS applies the SQL to the database immediately as each schema entity is parsed. If the mode is set to FALSE (post execution), AXMLS parses the entire schema and you will need to call adoSchema::ExecuteSchema() to apply the schema to the database.

Parameters
bool$modeexecute
Returns
bool current execution mode
See also
ParseSchema(), ExecuteSchema()

Definition at line 1524 of file adodb-xmlschema03.inc.php.

◆ ExecuteSchema() [1/2]

adoSchema::ExecuteSchema (   $sqlArray = NULL,
  $continueOnErr = NULL 
)

Applies the current XML schema to the database (post execution).

Call this method to apply the current schema (generally created by calling ParseSchema() or ParseSchemaString() ) to the database (creating the tables, indexes, and executing other SQL specified in the schema) after parsing.

See also
ParseSchema(), ParseSchemaString(), ExecuteInline()
Parameters
array$sqlArrayArray of SQL statements that will be applied rather than the current schema.
boolean$continueOnErrContinue to apply the schema even if an error occurs.
Returns
integer 0 if failure, 1 if errors, 2 if successful.

Definition at line 1574 of file adodb-xmlschema.inc.php.

◆ ExecuteSchema() [2/2]

adoSchema::ExecuteSchema (   $sqlArray = NULL,
  $continueOnErr = NULL 
)

Applies the current XML schema to the database (post execution).

Call this method to apply the current schema (generally created by calling ParseSchema() or ParseSchemaString() ) to the database (creating the tables, indexes, and executing other SQL specified in the schema) after parsing.

See also
ParseSchema(), ParseSchemaString(), ExecuteInline()
Parameters
array$sqlArrayArray of SQL statements that will be applied rather than the current schema.
boolean$continueOnErrContinue to apply the schema even if an error occurs.
Returns
integer 0 if failure, 1 if errors, 2 if successful.

Definition at line 1731 of file adodb-xmlschema03.inc.php.

◆ ExistingData()

adoSchema::ExistingData (   $mode = NULL)

Specifies how to handle existing data row when there is a unique key conflict.

The existingData setting specifies how the parser should handle existing rows when a unique key violation occurs during the insert. This can happen when inserting data into an existing table with one or more primary keys or unique indexes. The existingData method takes one of three options: XMLS_MODE_INSERT attempts to always insert the data as a new row. In the event of a unique key violation, the database will generate an error. XMLS_MODE_UPDATE attempts to update the any existing rows with the new data based upon primary or unique key fields in the schema. If the data row in the schema specifies no unique fields, the row data will be inserted as a new row. XMLS_MODE_IGNORE specifies that any data rows that would result in a unique key violation be ignored; no inserts or updates will take place. For backward compatibility, the default setting is XMLS_MODE_INSERT, but XMLS_MODE_UPDATE will generally be the most appropriate setting.

Parameters
int$modeXMLS_MODE_INSERT, XMLS_MODE_UPDATE, or XMLS_MODE_IGNORE
Returns
int current mode

Definition at line 1489 of file adodb-xmlschema03.inc.php.

◆ ExtractSchema() [1/2]

adoSchema::ExtractSchema (   $data = FALSE)

Extracts an XML schema from an existing database.

Call this method to create an XML schema string from an existing database. If the data parameter is set to TRUE, AXMLS will include the data from the database in the schema.

Parameters
boolean$dataInclude data in schema dump
Returns
string Generated XML schema

Definition at line 1945 of file adodb-xmlschema.inc.php.

References $rs.

◆ ExtractSchema() [2/2]

adoSchema::ExtractSchema (   $data = FALSE,
  $indent = '  ',
  $prefix = '',
  $stripprefix = false 
)

Extracts an XML schema from an existing database.

Call this method to create an XML schema string from an existing database. If the data parameter is set to TRUE, AXMLS will include the data from the database in the schema.

Parameters
boolean$dataInclude data in schema dump string indentation to use string extract only tables with given prefix strip prefix string when storing in XML schema
Returns
string Generated XML schema

Definition at line 2108 of file adodb-xmlschema03.inc.php.

References $rs.

◆ getSQL() [1/2]

adoSchema::getSQL (   $format = NULL,
  $sqlArray = NULL 
)

Gets the SQL array in the specified format.

Parameters
string$formatFormat
Returns
mixed SQL

private

Definition at line 2176 of file adodb-xmlschema.inc.php.

◆ getSQL() [2/2]

adoSchema::getSQL (   $format = NULL,
  $sqlArray = NULL 
)

Gets the SQL array in the specified format.

Parameters
string$formatFormat
Returns
mixed SQL

private

Definition at line 2357 of file adodb-xmlschema03.inc.php.

◆ ParseSchema() [1/2]

adoSchema::ParseSchema (   $filename,
  $returnSchema = FALSE 
)

Loads an XML schema from a file and converts it to SQL.

Call this method to load the specified schema (see the DTD for the proper format) from the filesystem and generate the SQL necessary to create the database described.

See also
ParseSchemaString()
Parameters
string$fileName of XML schema file.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute

Definition at line 1418 of file adodb-xmlschema.inc.php.

◆ ParseSchema() [2/2]

adoSchema::ParseSchema (   $filename,
  $returnSchema = FALSE 
)

Loads an XML schema from a file and converts it to SQL.

Call this method to load the specified schema (see the DTD for the proper format) from the filesystem and generate the SQL necessary to create the database described. This method automatically converts the schema to the latest axmls schema version.

See also
ParseSchemaString()
Parameters
string$fileName of XML schema file.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute

Definition at line 1566 of file adodb-xmlschema03.inc.php.

◆ ParseSchemaFile() [1/2]

adoSchema::ParseSchemaFile (   $filename,
  $returnSchema = FALSE 
)

Loads an XML schema from a file and converts it to SQL.

Call this method to load the specified schema from a file (see the DTD for the proper format) and generate the SQL necessary to create the database described by the schema.

Parameters
string$fileName of XML schema file.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute.
Deprecated:
Replaced by adoSchema::ParseSchema() and adoSchema::ParseSchemaString()
See also
ParseSchema(), ParseSchemaString()

Definition at line 1435 of file adodb-xmlschema.inc.php.

References die.

◆ ParseSchemaFile() [2/2]

adoSchema::ParseSchemaFile (   $filename,
  $returnSchema = FALSE 
)

Loads an XML schema from a file and converts it to SQL.

Call this method to load the specified schema directly from a file (see the DTD for the proper format) and generate the SQL necessary to create the database described by the schema. Use this method when you are dealing with large schema files. Otherwise, ParseSchema() is faster. This method does not automatically convert the schema to the latest axmls schema version. You must convert the schema manually using either the ConvertSchemaFile() or ConvertSchemaString() method.

See also
ParseSchema()
ConvertSchemaFile()
ConvertSchemaString()
Parameters
string$fileName of XML schema file.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute.
Deprecated:
Replaced by adoSchema::ParseSchema() and adoSchema::ParseSchemaString()
See also
ParseSchema(), ParseSchemaString()

Definition at line 1591 of file adodb-xmlschema03.inc.php.

References die, and logMsg().

◆ ParseSchemaString() [1/2]

adoSchema::ParseSchemaString (   $xmlstring,
  $returnSchema = FALSE 
)

Converts an XML schema string to SQL.

Call this method to parse a string containing an XML schema (see the DTD for the proper format) and generate the SQL necessary to create the database described by the schema.

See also
ParseSchema()
Parameters
string$xmlstringXML schema string.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute.

Definition at line 1490 of file adodb-xmlschema.inc.php.

References die.

◆ ParseSchemaString() [2/2]

adoSchema::ParseSchemaString (   $xmlstring,
  $returnSchema = FALSE 
)

Converts an XML schema string to SQL.

Call this method to parse a string containing an XML schema (see the DTD for the proper format) and generate the SQL necessary to create the database described by the schema.

See also
ParseSchema()
Parameters
string$xmlstringXML schema string.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute.

Definition at line 1646 of file adodb-xmlschema03.inc.php.

References die, and logMsg().

◆ prefix() [1/2]

adoSchema::prefix (   $name = '')

Returns an object name with the current prefix prepended.

Parameters
string$nameName
Returns
string Prefixed name

private

Definition at line 2085 of file adodb-xmlschema.inc.php.

◆ prefix() [2/2]

adoSchema::prefix (   $name = '')

Returns an object name with the current prefix prepended.

Parameters
string$nameName
Returns
string Prefixed name

private

Definition at line 2257 of file adodb-xmlschema03.inc.php.

◆ PrintSQL() [1/2]

adoSchema::PrintSQL (   $format = 'NONE')

Returns the current SQL array.

Call this method to fetch the array of SQL queries resulting from ParseSchema() or ParseSchemaString().

Parameters
string$formatFormat: HTML, TEXT, or NONE (PHP array)
Returns
array Array of SQL statements or FALSE if an error occurs

Definition at line 1601 of file adodb-xmlschema.inc.php.

◆ PrintSQL() [2/2]

adoSchema::PrintSQL (   $format = 'NONE')

Returns the current SQL array.

Call this method to fetch the array of SQL queries resulting from ParseSchema() or ParseSchemaString().

Parameters
string$formatFormat: HTML, TEXT, or NONE (PHP array)
Returns
array Array of SQL statements or FALSE if an error occurs

Definition at line 1758 of file adodb-xmlschema03.inc.php.

◆ RemoveSchema() [1/2]

adoSchema::RemoveSchema (   $filename,
  $returnSchema = FALSE 
)

Loads an XML schema from a file and converts it to uninstallation SQL.

Call this method to load the specified schema (see the DTD for the proper format) from the filesystem and generate the SQL necessary to remove the database described.

See also
RemoveSchemaString()
Parameters
string$fileName of XML schema file.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute

Definition at line 1536 of file adodb-xmlschema.inc.php.

◆ RemoveSchema() [2/2]

adoSchema::RemoveSchema (   $filename,
  $returnSchema = FALSE 
)

Loads an XML schema from a file and converts it to uninstallation SQL.

Call this method to load the specified schema (see the DTD for the proper format) from the filesystem and generate the SQL necessary to remove the database described.

See also
RemoveSchemaString()
Parameters
string$fileName of XML schema file.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute

Definition at line 1693 of file adodb-xmlschema03.inc.php.

◆ RemoveSchemaString() [1/2]

adoSchema::RemoveSchemaString (   $schema,
  $returnSchema = FALSE 
)

Converts an XML schema string to uninstallation SQL.

Call this method to parse a string containing an XML schema (see the DTD for the proper format) and generate the SQL necessary to uninstall the database described by the schema.

See also
RemoveSchema()
Parameters
string$schemaXML schema string.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute.

Definition at line 1551 of file adodb-xmlschema.inc.php.

◆ RemoveSchemaString() [2/2]

adoSchema::RemoveSchemaString (   $schema,
  $returnSchema = FALSE 
)

Converts an XML schema string to uninstallation SQL.

Call this method to parse a string containing an XML schema (see the DTD for the proper format) and generate the SQL necessary to uninstall the database described by the schema.

See also
RemoveSchema()
Parameters
string$schemaXML schema string.
bool$returnSchemaReturn schema rather than parsing.
Returns
array Array of SQL queries, ready to execute.

Definition at line 1708 of file adodb-xmlschema03.inc.php.

◆ SaveSQL() [1/2]

adoSchema::SaveSQL (   $filename = './schema.sql')

Saves the current SQL array to the local filesystem as a list of SQL queries.

Call this method to save the array of SQL queries (generally resulting from a parsed XML schema) to the filesystem.

Parameters
string$filenamePath and name where the file should be saved.
Returns
boolean TRUE if save is successful, else FALSE.

Definition at line 1615 of file adodb-xmlschema.inc.php.

◆ SaveSQL() [2/2]

adoSchema::SaveSQL (   $filename = './schema.sql')

Saves the current SQL array to the local filesystem as a list of SQL queries.

Call this method to save the array of SQL queries (generally resulting from a parsed XML schema) to the filesystem.

Parameters
string$filenamePath and name where the file should be saved.
Returns
boolean TRUE if save is successful, else FALSE.

Definition at line 1772 of file adodb-xmlschema03.inc.php.

◆ SchemaFileVersion() [1/2]

adoSchema::SchemaFileVersion (   $filename)

Returns the AXMLS Schema Version of the requested XML schema file.

Call this method to obtain the AXMLS DTD version of the requested XML schema file.

See also
SchemaStringVersion()
Parameters
string$filenameAXMLS schema file
Returns
string Schema version number or FALSE on error

Definition at line 1897 of file adodb-xmlschema.inc.php.

◆ SchemaFileVersion() [2/2]

adoSchema::SchemaFileVersion (   $filename)

Returns the AXMLS Schema Version of the requested XML schema file.

Call this method to obtain the AXMLS DTD version of the requested XML schema file.

See also
SchemaStringVersion()
Parameters
string$filenameAXMLS schema file
Returns
string Schema version number or FALSE on error

Definition at line 2057 of file adodb-xmlschema03.inc.php.

◆ SchemaStringVersion() [1/2]

adoSchema::SchemaStringVersion (   $xmlstring)

Returns the AXMLS Schema Version of the provided XML schema string.

Call this method to obtain the AXMLS DTD version of the provided XML schema string.

See also
SchemaFileVersion()
Parameters
string$xmlstringXML schema string
Returns
string Schema version number or FALSE on error

Definition at line 1923 of file adodb-xmlschema.inc.php.

◆ SchemaStringVersion() [2/2]

adoSchema::SchemaStringVersion (   $xmlstring)

Returns the AXMLS Schema Version of the provided XML schema string.

Call this method to obtain the AXMLS DTD version of the provided XML schema string.

See also
SchemaFileVersion()
Parameters
string$xmlstringXML schema string
Returns
string Schema version number or FALSE on error

Definition at line 2083 of file adodb-xmlschema03.inc.php.

◆ SetPrefix() [1/2]

adoSchema::SetPrefix (   $prefix = '',
  $underscore = TRUE 
)

Sets a prefix for database objects

Call this method to set a standard prefix that will be prepended to all database tables and indices when the schema is parsed. Calling setPrefix with no arguments clears the prefix.

Parameters
string$prefixPrefix that will be prepended.
boolean$underscoreIf TRUE, automatically append an underscore character to the prefix.
Returns
boolean TRUE if successful, else FALSE

Definition at line 2052 of file adodb-xmlschema.inc.php.

References logMsg().

◆ SetPrefix() [2/2]

adoSchema::SetPrefix (   $prefix = '',
  $underscore = TRUE 
)

Sets a prefix for database objects

Call this method to set a standard prefix that will be prepended to all database tables and indices when the schema is parsed. Calling setPrefix with no arguments clears the prefix.

Parameters
string$prefixPrefix that will be prepended.
boolean$underscoreIf TRUE, automatically append an underscore character to the prefix.
Returns
boolean TRUE if successful, else FALSE

Definition at line 2224 of file adodb-xmlschema03.inc.php.

References logMsg().

◆ SetUpgradeMethod() [1/2]

adoSchema::SetUpgradeMethod (   $method = '')

Sets the method to be used for upgrading an existing database

Use this method to specify how existing database objects should be upgraded. The method option can be set to ALTER, REPLACE, BEST, or NONE. ALTER attempts to alter each database object directly, REPLACE attempts to rebuild each object from scratch, BEST attempts to determine the best upgrade method for each object, and NONE disables upgrading.

This method is not yet used by AXMLS, but exists for backward compatibility. The ALTER method is automatically assumed when the adoSchema object is instantiated; other upgrade methods are not currently supported.

Parameters
string$methodUpgrade method (ALTER|REPLACE|BEST|NONE)
Returns
string Upgrade method used

Definition at line 1336 of file adodb-xmlschema.inc.php.

◆ SetUpgradeMethod() [2/2]

adoSchema::SetUpgradeMethod (   $method = '')

Sets the method to be used for upgrading an existing database

Use this method to specify how existing database objects should be upgraded. The method option can be set to ALTER, REPLACE, BEST, or NONE. ALTER attempts to alter each database object directly, REPLACE attempts to rebuild each object from scratch, BEST attempts to determine the best upgrade method for each object, and NONE disables upgrading.

This method is not yet used by AXMLS, but exists for backward compatibility. The ALTER method is automatically assumed when the adoSchema object is instantiated; other upgrade methods are not currently supported.

Parameters
string$methodUpgrade method (ALTER|REPLACE|BEST|NONE)
Returns
string Upgrade method used

Definition at line 1441 of file adodb-xmlschema03.inc.php.

◆ supportedPlatform() [1/2]

adoSchema::supportedPlatform (   $platform = NULL)

Checks if element references a specific platform

Parameters
string$platformRequested platform
Returns
boolean TRUE if platform check succeeds

private

Definition at line 2105 of file adodb-xmlschema.inc.php.

References logMsg().

◆ supportedPlatform() [2/2]

adoSchema::supportedPlatform (   $platform = NULL)

Checks if element references a specific platform

Parameters
string$platformRequested platform
Returns
boolean TRUE if platform check succeeds

private

Definition at line 2277 of file adodb-xmlschema03.inc.php.

References logMsg().

◆ TransformSchema() [1/2]

adoSchema::TransformSchema (   $schema,
  $xsl,
  $schematype = 'string' 
)

Definition at line 1786 of file adodb-xmlschema.inc.php.

References $result, and _file_get_contents().

◆ TransformSchema() [2/2]

adoSchema::TransformSchema (   $schema,
  $xsl,
  $schematype = 'string' 
)

Definition at line 1946 of file adodb-xmlschema03.inc.php.

References $result, and _file_get_contents().

◆ xslt_error_handler() [1/2]

adoSchema::xslt_error_handler (   $parser,
  $errno,
  $level,
  $fields 
)

Processes XSLT transformation errors

Parameters
object$parserXML parser object
integer$errnoError number
integer$levelError level
array$fieldsError information fields

private

Definition at line 1845 of file adodb-xmlschema.inc.php.

References E_USER_ERROR.

◆ xslt_error_handler() [2/2]

adoSchema::xslt_error_handler (   $parser,
  $errno,
  $level,
  $fields 
)

Processes XSLT transformation errors

Parameters
object$parserXML parser object
integer$errnoError number
integer$levelError level
array$fieldsError information fields

private

Definition at line 2005 of file adodb-xmlschema03.inc.php.

References E_USER_ERROR.

Member Data Documentation

◆ $continueOnError

adoSchema::$continueOnError

Definition at line 1293 of file adodb-xmlschema.inc.php.

◆ $currentElement

adoSchema::$currentElement = ''

Definition at line 1242 of file adodb-xmlschema.inc.php.

◆ $db

adoSchema::$db

Definition at line 1230 of file adodb-xmlschema.inc.php.

◆ $debug

adoSchema::$debug

Definition at line 1266 of file adodb-xmlschema.inc.php.

◆ $dict

adoSchema::$dict

Definition at line 1236 of file adodb-xmlschema.inc.php.

◆ $executeInline

adoSchema::$executeInline

Definition at line 1288 of file adodb-xmlschema.inc.php.

◆ $existingData

adoSchema::$existingData

Definition at line 1397 of file adodb-xmlschema03.inc.php.

◆ $mgq

adoSchema::$mgq

Definition at line 1260 of file adodb-xmlschema.inc.php.

◆ $objectPrefix

adoSchema::$objectPrefix = ''

Definition at line 1254 of file adodb-xmlschema.inc.php.

◆ $schemaVersion

adoSchema::$schemaVersion

Definition at line 1278 of file adodb-xmlschema.inc.php.

◆ $sqlArray

adoSchema::$sqlArray

Definition at line 1224 of file adodb-xmlschema.inc.php.

◆ $success

adoSchema::$success

Definition at line 1283 of file adodb-xmlschema.inc.php.

◆ $upgrade

adoSchema::$upgrade = ''

Definition at line 1248 of file adodb-xmlschema.inc.php.

◆ $versionRegex

adoSchema::$versionRegex = '/<schema.*?( version="([^"]*)")?.*?>/'

Definition at line 1272 of file adodb-xmlschema.inc.php.