XML Document Format

The XML document created by the ODBC Content Bridge is comprised of three parts:

The XML Declaration
This is the standard XML header that identifies this as an XML document. It is the first line in the XML document and takes the form <?xml version="1.0" ?>.
The Style Sheet Processing Instruction
This processing instruction identifies the style sheet to use to transform this XML document. It has the form:
<?xml-stylesheet type="type" href="location" ?>
where type is either text/css or text/xsl and location is the valid URI to the style sheet. The Content Bridge sets these values based on the Style Sheet properties provided when a content bridge build was configured.
The Root XML Element and its Descendant Elements
The root element and its descendant elements provide the data for the XML document. The structure of these elements is described in detail below.

The XML Document Element Structure

The root element for all XML documents generated by the ODBC Content Bridge is <document>. The <document> element contains a single occurrence of the <table> element.

The <table> element contains one or more <row> elements that represent each row in the results set obtained as the result of executing the Document SQL Select statement.

Each <row> element in turn contains one or more elements that contain the value of each field or column in the results set. These field elements have the same name as the field they represent, and an attribute specifying the field type. For example, a text field called CompanyName with the value Ford would be represented by the element <CompanyName type="string">Ford</CompanyName>.

Because XML element names are not allowed to contain spaces, any element representing a field whose name contains spaces has the spaces replaced by the "-" character and have an additional attribute called title that contains the original field name (with spaces).

Thus, a field called Contact Name with the value John Doe would be represented by the element <Contact-Name title="Contact Name" type="string">John Doe</Contact-Name>.

Fields containing null values are represented by an empty element, for example, <CellPhone/>.

Table 1 lists all the values for the type attribute and the database data types that they equate to.

Table 1. Type Attribute Values

Attribute Value SQL Type Identifier Typical SQL Data Type Description
string SQL_WLONGVARCHAR LONGWVARCHAR Unicode variable-length character data. Maximum length is data source�dependent
SQL_WVARCHAR VARWCHAR(n) Unicode variable-length character string with a maximum string length n
SQL_WCHAR WCHAR(n) Unicode character string of fixed string length n
SQL_CHAR CHAR(n) Character string of fixed string length n.
SQL_LONGVARCHAR LONG VARCHAR Variable length character data. Maximum length is data source�dependent.
SQL_VARCHAR VARCHAR(n) Variable-length character string with a maximum string length n.
boolean SQL_BIT BIT Single bit binary data.
timeInstant SQL_TIMESTAMP
SQL_TYPE_TIMESTAMP
TIMESTAMP(p) Year, month, day, hour, minute, and second fields, with valid values as defined for the DATE and TIME data types.
date SQL_DATE
SQL_TYPE_DATE
DATE Year, month, and day fields, conforming to the rules of the Gregorian calendar.
time SQL_TIME
SQL_TYPE_TIME
TIME(p) Hour, minute, and second fields, with valid values for hours of 00 to 23, valid values for minutes of 00 to 59, and valid values for seconds of 00 to 61. Precision p indicates the seconds precision.
decimal SQL_DECIMAL DECIMAL(p,s) Signed, exact, numeric value with a precision of at least p and scale s. (The maximum precision is driver-defined.)
SQL_REAL REAL(p,s) Signed, approximate, numeric value with a binary precision 24 (zero or absolute value 10[�38] to 10[38]).
integer SQL_NUMERIC NUMERIC(p,s) Signed, exact, numeric value with a precision p and scale s
(1 <= p <= 15; s <= p).
byte SQL_TINYINT TINYINT Exact numeric value with precision 3 and scale 0
(signed: �128 <= n <= 127,
unsigned: 0 <= n <= 255).
short SQL_SMALLINT SMALLINT Exact numeric value with precision 5 and scale 0
(signed: �32,768 <= n <= 32,767,
unsigned: 0 <= n <= 65,535).
int SQL_INTEGER INTEGER Exact numeric value with precision 10 and scale 0
(signed: �2[31] <= n <= 2[31] � 1,
unsigned:0 <= n <= 2[32] � 1).
long SQL_BIGINT BIGINT Exact numeric value with precision 19 (if signed) or 20 (if unsigned) and scale 0
(signed: �2[63] <= n <= 2[63] � 1,
unsigned: 0 <= n <= 2[64] � 1).
double SQL_DOUBLE DOUBLE PRECISION Signed, approximate, numeric value with a binary precision 53 (zero or absolute value 10[�308] to 10[308]).
float SQL_FLOAT FLOAT(p) Signed, approximate, numeric value with a binary precision of at least p. (The maximum precision is driver-defined.)

Example XML Document Generated by the ODBC Content Bridge

<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="/$StyleSheet$/Fortune1000.xsl"?>
<!-- This document was generated by Rocket NXT4 ODBC Document Service -->
<document>
  <table ID="Table1">
    <row>
      <id type="int">4</id>
      <name type="int">4</name>
      <title type="string">Exxon</title>
      <RRank-1998 title="RRank 1998" type="int">4</RRank-1998>
      <RRank-1997 title="RRank 1997" type="int">3</RRank-1997>
      <Company-Name title="Company Name" type="string">Exxon</Company-Name>
      <FN2 type="string">E</FN2>
      <Revenues type="float">100697</Revenues>
      <Percent-Change-from-1997 title="Percent Change from 1997" type="float">-17.7</Percent-Change-from-1997>
      <Profits type="float">6370</Profits>
      <PPercent-Change-from-1997 title="PPercent Change from 1997" type="float">-24.7</PPercent-Change-from-1997>
      <Assets type="float">92630</Assets>
      <TSE type="float">43750</TSE>
      <MV type="float">178913</MV>
      <PAPOS type="float">6.3</PAPOS>
      <PAPOA type="float">6.9</PAPOA>
      <PAPOSE type="float">14.6</PAPOSE>
      <EPS1998 type="float">2.58</EPS1998>
      <EPSPCF1997 type="float">-23.4</EPSPCF1997>
      <EPS8898AGR type="float">2.7</EPS8898AGR>
      <TRTI1998 type="float">22.4</TRTI1998>
      <TRTI8898AR type="float">17.5</TRTI8898AR>
      <Employees type="float">79000</Employees>
      <Industry type="string">Petroleum Refining</Industry>
      <HQAddress type="string">5959 Las Colinas Blvd.</HQAddress>
      <HQCity type="string">Irving</HQCity>
      <HQState type="string">TX</HQState>
      <HQZip type="string">75039</HQZip>
      <HQPhone type="string">972-444-1000</HQPhone>
      <CEO type="string">Lee R. Raymond</CEO>
      <CO-CEO/>
      <Ticker type="string">XON</Ticker>
      <Web type="string">www.exxon.com</Web>
    </row>
  </table>
</document>