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
16 FileMaker Server Custom Web Publishing with XML and XSLT
The Web Publishing Engine uses your stylesheets to dynamically obtain data from a FileMaker database
whenever a web user sends an HTTP request and a URL that references one of your XSLT stylesheets. The
Web Publishing Engine uses a stylesheet to transform and format the XML data, and generates the resulting
HTML page that the web user can work with.
For additional information about using FileMaker Server Custom Web Publishing with XML and XSLT,
visit www.filemaker.com/downloads.
About developing XSLT stylesheets
FileMaker Server includes a tool for developing XSLT stylesheets. FileMaker XSLT Site Assistant is an
application you can use to create basic XSLT stylesheets as a starting point for Custom Web Publishing with
XSLT. XSLT Site Assistant is a good way to learn how FileMaker XSLT stylesheets are constructed. You
can then use your own XSLT stylesheet authoring tools to modify the stylesheets as necessary. See
“Using
FileMaker XSLT Site Assistant to generate FileMaker XSLT stylesheets” on page 46.
Note FileMaker Server supports XSLT 1.0 as defined by the World Wide Web Consortium. Any XSLT
authoring tools you use must produce standards-conforming XSLT 1.0.
Key features in Custom Web Publishing with XML and XSLT
FileMaker Server Custom Web Publishing with XML and XSLT provides several important features:
1 Databases are hosted on FileMaker Server, and FileMaker Pro is not required to be running.
1 You can use server-side XSLT stylesheet processing, which is more secure than client-side stylesheet
processing.
1 You can use server-side processing of JavaScript in XSLT stylesheets. For information, see “Using
server-side processing of scripting languages” on page 76.
1 You can prevent the unauthorized use of query commands and query parameters with your FileMaker XSLT
stylesheet by statically defining the query commands, parameters, and values that you want to use when
XML data is requested. See
“Using statically defined query commands and query parameters” on page 55.
1 Like FileMaker Pro, access to data, layouts, and fields is based on the user account settings defined in
the database’s access privileges. The Web Publishing Engine also supports several other security
enhancements. See
“Protecting your published databases” on page 20.
1 Web users can perform complex, multi-step scripts. About 70 ScriptMaker script steps are supported on
the web. See the section
“FileMaker scripts and Custom Web Publishing” on page 22.
1 You can pass a parameter value to a FileMaker script. For more information, see “–script.param (Pass
parameter to Script) query parameter” on page 100, “–script.prefind.param (Pass parameter to Script
before Find) query parameter” on page 101, and “–script.presort.param (Pass parameter to Script before
Sort) query parameter” on page 101.
1 The fmresultset XML grammar enables you to access fields by name and manipulate relatedset (portal) data.
1 Using session functions in an XSLT stylesheet, you can store a web user’s information and transactions
in server-maintained sessions.
1 To access data in a database, you must specify a layout. See appendix A, “Valid names used in query strings.”
1 Each web user can have a unique global field value that persists as long as a session is active. For general
information on global fields, see FileMaker
Pro Help. For information on using global fields with
Custom Web Publishing, see
“About the syntax for specifying a global field” on page 90.