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>