There are three ways to pass the data for transforming to the object:
with a direct query
This way you see in the first part of the introduction already.
with an existing DB_result object
If you need the full power of the PEAR::DB or PEAR::MDB API, you should choose this way.
with an array
This is not directly an SQL to XML transformation; if you pass an indice array to the instance, the keys of the array are transformed into XML tags, their values into the tag content. This feature his helpful for adding data to an XML transformed result set.
This behavoir does connecting to the DBMS, quering and fetching he result automatically. XML_sql2xml requires an valid DSN as construtor parameter. The query has to be passed to the getXML() or add() method.
Take a look into the first part of the introduction for examples.
PEAR::DB and PEAR::MDB return the result set of a query as DB_result object. You have to provide a DB_common instance to the construtor and the DB_result instance to getXML() or add().
Example 48-1. Passing a DB_Result object
|
The XML output in $xmlstring is equal to the example in "The typical using".
This way is the only one, if you want to benefit from all the features of the database APIs.
If you pass an nested array to getXML() or add(), it will be transformed into an XML document.
Example 48-2. Passing an array
The XML output in $xmlstring:
|
You can call add() several result sets to XML document. Just call the method for every result set; if you have added all result sets, call getXml() without any arguments to get the XML document.
Example 48-3. Adding result sets
|