O Host On-Demand e o Database On-Demand suportam dois tipos de arquivo XML:
Um arquivo XML DTD contém:
A finalidade da DTD (Document Type Definition) DatabaseOnDemand é permitir que os programas leiam arquivos XML (como por exemplo editores XML) para validar o conteúdo do arquivo XML em oposição à DTD. A DTD DatabaseOnDemand é definida da seguinte maneira:
<!DOCTYPE DatabaseOnDemand [ <!ELEMENT DatabaseOnDemand (QUERY)> <!ELEMENT QUERY (ROW+)> <!ELEMENT ROW (COLUMN+)> <!ELEMENT COLUMN (#PCDATA)> <!ATTLIST COLUMN NAME CDATA #REQUIRED> <!ATTLIST COLUMN VALUE CDATA #REQUIRED> ]>
O texto a seguir mostra alguns dados XML de amostra criados de acordo com a DTD DatabaseOnDemand:
<DatabaseOnDemand>
<QUERY>
<ROW>
<COLUMN NAME="TOPICID" VALUE="9" />
<COLUMN NAME="EXAMPLID" VALUE="54" />
<COLUMN NAME="DESCRIPT" VALUE="Vendas do Funcionário" />
<COLUMN NAME="OBJECTID" VALUE="19" />
</ROW>
<ROW>
<COLUMN NAME="TOPICID" VALUE="12" />
<COLUMN NAME="EXAMPLID" VALUE="74" />
<COLUMN NAME="DESCRIPT" VALUE="Total de Vendas" />
<COLUMN NAME="OBJECTID" VALUE="22" />
</ROW>
</QUERY>
</DatabaseOnDemand>
No exemplo acima, TOPICID, EXAMPLID, DESCRIPT e OBJECTID são os nomes de colunas a partir do
banco de dados do host.
O arquivo XML Excel pode ser aberto e modificado pelo Microsoft Excel 2003.
A seguir encontra-se uma amostra de um arquivo XML Excel:
<?xml version="1.0" encoding="UTF-8"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook
xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml"
xmlns:udc="http://schemas.microsoft.com/data/udc"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
</DocumentProperties>
<Worksheet ss:Name="Sheet1">
<Table>
<Column ss:Width="200"/>
<Column ss:Width="200"/>
<Column ss:Width="200"/>
<Row ss:AutoFitHeight="0">
<Cell>
<Data ss:Type="String">SRCSEQ</Data>
<NamedCell ss:Name="_FilterDatabase"/>
</Cell>
<Cell>
<Data ss:Type="String">SRCDAT</Data>
<NamedCell ss:Name="_FilterDatabase"/>
</Cell>
<Cell>
<Data ss:Type="String">SRCDTA</Data>
<NamedCell ss:Name="_FilterDatabase"/>
</Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell>
<Data ss:Type="Number">1.00</Data>
<NamedCell ss:Name="_FilterDatabase"/>
</Cell>
<Cell>
<Data ss:Type="Number">12</Data>
<NamedCell ss:Name="_FilterDatabase"/>
</Cell>
<Cell>
<Data ss:Type="String">Constructs a new String by decoding the specified array</Data>
<NamedCell ss:Name="_FilterDatabase"/>
</Cell>
</Row>
......
</Table>
</Worksheet>
<x2:MapInfo x2:HideInactiveListBorder="false">
<!-- Begin of x2:Schema -->
<x2:Schema x2:ID="Schema1" x2:Namespace="">
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element nillable="true" name="DatabaseOnDemand">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element minOccurs="0" nillable="true" name="QUERY" form="unqualified">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element minOccurs="0" maxOccurs="unbounded" nillable="true" name="ROW" form="unqualified">
<xsd:complexType>
<xsd:sequence minOccurs="0">
<xsd:element minOccurs="0" nillable="true" type="xsd:string" name="SRCSEQ" form="unqualified"></xsd:element>
<xsd:element minOccurs="0" nillable="true" type="xsd:string" name="SRCDAT" form="unqualified"></xsd:element>
<xsd:element minOccurs="0" nillable="true" type="xsd:string" name="SRCDTA" form="unqualified"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</x2:Schema>
<!-- End of x2:Schema -->
</Workbook>