Custom Web Publishing Guide
Table Of Contents
- Chapter 1 Introducing Custom Web Publishing
- Chapter 2 Preparing databases for Custom Web Publishing
- Chapter 3 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 fmresultset 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 4 Introduction to Custom Web Publishing with XSLT
- Chapter 5 Developing FileMaker XSLT stylesheets
- Using XSLT stylesheets with the Web Publishing Engine
- About the FileMaker XSLT Extension Function Reference
- 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 a database’s layout information 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
- Chapter 6 Testing and monitoring a site
- Appendix A Valid names used in query strings
- About the query commands and parameters
- Using the query commands
- -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
- -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
- Using the query parameters
- -db (Database name) 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
- -recid (Record ID) query parameter
- -script (Script) query parameter
- -script.prefind (Script before Find) query parameter
- -script.presort (Script before Sort) query parameter
- -skip (Skip records) query parameter
- -sortfield (Sort field) query parameter
- -sortorder (Sort order) query parameter
- -styletype (Style type) query parameter
- -stylehref (Style href) query parameter
- -token.[string] (Pass values between XSLT stylesheets) query parameter
- Appendix B Error codes for Custom Web Publishing
- Appendix C Converting CDML solutions to FileMaker XSLT
- About the process of converting CDML solutions to FileMaker XSLT solutions
- Conversion of CDML action tags, variable tags, and URLs
- Conversion of the -error and -errornum CDML variable tags
- Conversion of obsolete CDML action tags
- Conversion of supported CDML action tags
- Conversion of obsolete CDML variable tags
- Conversion of supported CDML variable tags
- Conversion of CDML boolean parameters to XPath boolean parameters
- Conversion of CDML boolean operators to XPath
- Conversion of CDML intratag parameters to XSLT-CWP
- Manually fixing CDML conversion errors
- Conversion of CDML replacement tags to XSLT-CWP
- Index
Accessing XML data with the Web Publishing Engine 33
About UTF-8 encoded data
All XML data generated by the Web Publishing Engine is encoded in UTF-8 (Unicode Transformation 8 Bit)
format. This format compresses data from the standard Unicode format of 16 bits to 8 bits for ASCII
characters. XML parsers are required to support Unicode and UTF-8 encoding.
UTF-8 encoding includes direct representations of the values of 0-127 for the standard ASCII set of characters
used in English, and provides multibyte encodings for Unicode characters with higher values.
Note Be sure to use a web browser or text editor program that supports UTF-8 files.
The UTF-8 encoding format includes the following features:
1 All ASCII characters are one-byte UTF-8 characters. A legal ASCII string is a legal UTF-8 string.
1 Any non-ASCII character (any character with the high-order bit set) is part of a multibyte character.
1 The first byte of any UTF-8 character indicates the number of additional bytes in the character.
1 The first byte of a multibyte character is easily distinguished from the subsequent byte, which makes it is
easy to locate the start of a character from an arbitrary position in a data stream.
1 It is easy to convert between UTF-8 and Unicode.
1 The UTF-8 encoding is relatively compact. For text with a large percentage of ASCII characters, it is more
compact than Unicode. In the worst case, a UTF-8 string is only 50% larger than the corresponding Unicode
string.
Using FileMaker query strings to request XML data
To request XML data from a FileMaker database, you use the FileMaker query commands and parameters in
a query string. For example, you can use the –findall query command in the following query string in a URL
to request a list of all products in a FileMaker database named “products”:
http://192.168.123.101/fmi/xml/fmresultset.xml?-db=products-lay=sales&-findall
A query string must contain only one query command, such as –new. Most query commands also require
various matching query parameters in the query string. For example, all query commands except –dbnames
require the –db parameter that specifies the database to query.
You can also use query commands and parameters in a URL or in a <?xslt-cwp-query?> processing instruction
in a FileMaker XSLT stylesheet. See
chapter 5, “Developing FileMaker XSLT stylesheets.”
This section contains a summary of the FileMaker query commands and parameters. For more information
about using them in a query string, see
appendix A, “Valid names used in query strings.”
Note The Web Publishing Engine also supports an additional query command (–process) and three query
parameters that are defined for use only with FileMaker XSLT stylesheets. See
“Using query strings in
FileMaker XSLT stylesheets” on page 49.
Use this query command name To execute this command
–dbnames Retrieve names of all hosted and web-shared databases
–delete Delete record
–dup Duplicate record
–edit Edit record
–find Find record(s)
–findall Find all records