Custom Web Publishing Guide

Table Of Contents
26 Custom Web Publishing Guide
Depending on the grammar you specify in the URL request, the Web Publishing Engine will generate an XML
document using one of the grammars. Each XML document contains a default XML namespace declaration
for the grammar. See the next section,
“About namespaces for FileMaker XML.” Use one of these grammars
in your document or web page to display and work with FileMaker data in XML format.
Note XML data generated by the Web Publishing Engine is encoded using UTF-8 format (Unicode
Transformation Format 8). See
“About UTF-8 encoded data” on page 33.
About namespaces for FileMaker XML
Unique XML namespaces help distinguish XML tags by the application they were designed for. For example,
if your XML document contains two
<DATABASE> elements, one for FileMaker XML data and another for
Oracle XML data, the namespaces will identify the
<DATABASE> element for each.
The Web Publishing Engine generates a default namespace for each grammar.
About FileMaker database error codes
The Web Publishing Engine returns an error code in the error code elements at the beginning of each XML
document that represents the error, if any, in the execution of the most recently executed query command. A
value of zero (0) is returned for no error.
The error code element in the XML document indicates errors related to the database and query strings. Other
types of errors can also occur for XSLT stylesheets and are handled differently. See
appendix B, “Error codes
for Custom Web Publishing.”
Retrieving the document type definitions for the FileMaker grammars
You can retrieve the document type definitions (DTDs) for the FileMaker grammars by using an HTTP
request.
For this grammar This default namespace is generated
fmresultset xmlns="http://www.filemaker.com/xml/fmresultset"
FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"
FMPXMLLAYOUT xmlns="http://www.filemaker.com/fmpxmllayout"
For this grammar This syntax is used
fmresultset <error code="0"></error>
FMPXMLRESULT <ERRORCODE>0</ERRORCODE>
FMPDSORESULT <ERRORCODE>0</ERRORCODE>
For this grammar Use this HTTP request
fmresultset http://<host>[:<port]/fmi/xml/fmresultset.dtd
FMPXMLRESULT http://<host>[:<port]/fmi/xml/FMPXMLRESULT.dtd
FMPXMLLAYOUT http://<host>[:<port]/fmi/xml/FMPXMLLAYOUT.dtd
FMPDSORESULT http://<host>[:<port]/fmi/xml/FMPDSORESULT.dtd?-db=<database>&-lay=<layout>