Custom Web Publishing with XML and XSLT
Table Of Contents
- Preface
- Chapter 1 Introducing Custom Web Publishing
- Chapter 2 About Custom Web Publishing with XML and XSLT
- Chapter 3 Preparing databases for Custom Web Publishing
- Chapter 4 Accessing XML data with the Web Publishing Engine
- Using Custom Web Publishing with XML
- General process for accessing XML data from the Web Publishing Engine
- About the URL syntax for XML data and container objects
- Accessing XML data via the Web Publishing Engine
- Using the fmsresultset grammar
- Using other FileMaker XML grammars
- About UTF-8 encoded data
- Using FileMaker query strings to request XML data
- Switching layouts for an XML response
- Understanding how an XML request is processed
- Using server-side and client-side processing of stylesheets
- Troubleshooting XML document access
- Chapter 5 Introduction to Custom Web Publishing with XSLT
- Chapter 6 Developing FileMaker XSLT stylesheets
- Using XSLT stylesheets with the Web Publishing Engine
- About the FileMaker XSLT Extension Function Reference
- About the FileMaker XSLT Starter Solution
- About the URL syntax for FileMaker XSLT stylesheets
- About the URL syntax for FileMaker container objects in XSLT solutions
- Using query strings in FileMaker XSLT stylesheets
- Specifying an XML grammar for a FileMaker XSLT stylesheet
- About namespaces and prefixes for FileMaker XSLT stylesheets
- Using statically defined query commands and query parameters
- Setting text encoding for requests
- Specifying an output method and encoding
- About the encoding of XSLT stylesheets
- Processing XSLT requests that do not query FileMaker Server
- Using tokens to pass information between stylesheets
- Using the FileMaker XSLT extension functions and parameters
- About the FileMaker-specific XSLT parameters set by the Web Publishing Engine
- Accessing the query information in a request
- Obtaining client information
- Using the Web Publishing Engine base URI parameter
- Using the authenticated base URI parameter
- Loading additional documents
- Using the layout information for a database in a stylesheet
- Using content buffering
- Using Web Publishing Engine sessions to store information between requests
- Using the session extension functions
- Sending email messages from the Web Publishing Engine
- Using the header functions
- Using the cookie extension functions
- Using the string manipulation extension functions
- Comparing strings using Perl 5 regular expressions
- Checking for values in a field formatted as a checkbox
- Using the date, time, and day extension functions
- Checking the error status of extension functions
- Using logging
- Using server-side processing of scripting languages
- Chapter 7 Staging, testing, and monitoring a site
- Appendix A Valid names used in query strings
- About the query commands and parameters
- Query command reference
- -dbnames (Database names) query command
- -delete (Delete record) query command
- -dup (Duplicate record) query command
- -edit (Edit record) query command
- -find, -findall, or -findany (Find records) query commands
- -findquery (Compound find) query command
- -layoutnames (Layout names) query command
- -new (New record) query command
- -process (Process XSLT stylesheets)
- -scriptnames (Script names) query command
- -view (View layout information) query command
- Query parameter reference
- -db (Database name) query parameter
- -delete.related (Portal records delete) query parameter
- -encoding (Encoding XSLT request) query parameter
- -field (Container field name) query parameter
- fieldname (Non-container field name) query parameter
- fieldname.op (Comparison operator) query parameter
- -grammar (Grammar for XSLT stylesheets) query parameter
- -lay (Layout) query parameter
- -lay.response (Switch layout for response) query parameter
- -lop (Logical operator) query parameter
- -max (Maximum records) query parameter
- -modid (Modification ID) query parameter
- -query (Compound find request) query parameter
- -recid (Record ID) query parameter
- -relatedsets.filter (Filter portal records) query parameter
- -relatedsets.max (Limit portal records) query parameter
- -script (Script) query parameter
- -script.param (Pass parameter to Script) query parameter
- -script.prefind (Script before Find) query parameter
- -script.prefind.param (Pass parameter to Script before Find) query parameter
- -script.presort (Script before Sort) query parameter
- -script.presort.param (Pass parameter to Script before Sort) query parameter
- -skip (Skip records) query parameter
- -sortfield (Sort field) query parameter
- -sortorder (Sort order) query parameter
- -stylehref (Style href) query parameter
- -styletype (Style type) query parameter
- -token.[string] (Pass values between XSLT stylesheets) query parameter
- Appendix B Error codes for Custom Web Publishing
- Index
Chapter 4
|
Accessing XML data with the Web Publishing Engine 33
Example of XML data in the fmresultset grammar
The following is an example of XML data generated with the fmresultset grammar.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE fmresultset PUBLIC "-//FMI//DTD fmresultset//EN" ""http://localhost:16014/fmi/xml/fmresultset.dtd">
<fmresultset xmlns="http://www.filemaker.com/xml/fmresultset" version="1.0">
<error code="0" />
<product build="02/07/2007" name="FileMaker Web Publishing Engine" version="9.0.1.36" />
<datasource database="art" date-format="MM/dd/yyyy" layout="web3" table="art" time-format="HH:mm:ss"
timestamp-format="MM/dd/yyyy HH:mm:ss" total-count="12" />
<metadata>
<field-definition auto-enter="no" four-digit-year="no" global="no" max-repeat="1" name="Title" not-empty="no"
numeric-only="no" result="text" time-of-day="no" type="normal" />
<field-definition auto-enter="no" four-digit-year="no" global="no" max-repeat="1" name="Artist" not-empty="no"
numeric-only="no" result="text" time-of-day="no" type="normal" />
<relatedset-definition table="artlocations">
<field-definition auto-enter="no" four-digit-year="no" global="no" max-repeat="1" name="artlocations::Location"
not-empty="no" numeric-only="no" result="text" time-of-day="no" type="normal" />
<field-definition auto-enter="no" four-digit-year="no" global="no" max-repeat="1" name="artlocations::Date"
not-empty="no" numeric-only="no" result="date" time-of-day="no" type="normal" />
</relatedset-definition>
<field-definition auto-enter="no" four-digit-year="no" global="no" max-repeat="1" name="Style" not-empty="no"
numeric-only="no" result="text" time-of-day="no" type="normal" />
<field-definition auto-enter="no" four-digit-year="no" global="no" max-repeat="1" name="length" not-empty="no"
numeric-only="no" result="number" time-of-day="no" type="calculation" />
</metadata>
<resultset count="1" fetch-size="1">
<record mod-id="6" record-id="14">
<field name="Title">
<data>Spring in Giverny 3</data>
</field>
<field name="Artist">
<data>Claude Monet</data>
</field>
<relatedset count="0" table="artlocations" />
<field name="Style">
<data />
</field>
<field name="length">
<data>19</data>
</field>
</record>
</resultset>
</fmresultset>