FileMaker Server 8 Advanced ® Custom Web Publishing Guide
© 2004-2005 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries, and ScriptMaker and the file folder logo are trademarks of FileMaker, Inc. All persons and companies listed in the examples are purely fictitious and any resemblance to existing persons and companies is purely coincidental. FileMaker documentation is copyrighted.
Contents Chapter 1 Introducing Custom Web Publishing About this guide Creating dynamic web sites with the Web Publishing Engine About Custom Web Publishing with XML About Custom Web Publishing with XSLT About the tools for developing XSLT stylesheets Web publishing requirements What is required to publish a database using Custom Web Publishing What web users need to access a Custom Web Publishing solution Connecting to the Internet or an intranet Key features in Custom Web Publishing with XML and XSLT FileM
FileMaker Server Advanced Custom Web Publishing Guide Accessing XML data via the Web Publishing Engine About namespaces for FileMaker XML About FileMaker database error codes Retrieving the document type definitions for the FileMaker grammars Using the fmresultset grammar Description of elements in the fmresultset grammar Example of XML data in the fmresultset grammar Using other FileMaker XML grammars Description of elements in the FMPXMLRESULT grammar Example of XML data in the FMPXMLRESULT grammar De
| 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
FileMaker Server Advanced Custom Web Publishing Guide Chapter 6 Testing and monitoring a site Testing a Custom Web Publishing site Examples of stylesheets for testing XML output Monitoring your site Using the web server access and error logs Using the Web Publishing Engine application log Using the Web Server Module error log Using Web Publishing Core internal access logs Appendix A Valid names used in query strings About the query commands and parameters Obsolete request names and parameters Guideline
| 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.
FileMaker Server Advanced Custom Web Publishing Guide 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 XPa
Chapter 1 Introducing Custom Web Publishing With FileMaker® Server Advanced, you can publish FileMaker databases on the Internet or an intranet in these ways: 1 1 1 Custom Web Publishing using Extensible Markup Language (XML) Custom Web Publishing using Extensible Stylesheet Language Transformations (XSLT) stylesheets Instant Web Publishing. See the FileMaker Instant Web Publishing Guide.
FileMaker Server Advanced Custom Web Publishing Guide About this guide This guide assumes you are experienced with XML and XSLT, developing web sites, and using FileMaker Pro to create databases.
Chapter 1 1 1 1 1 1 | Introducing Custom Web Publishing 11 Security: As the administrator for the Web Publishing Engine, you can individually enable or disable Instant Web Publishing, XML web publishing, or XSLT web publishing for all databases hosted by the server. As the FileMaker database owner, you can control web user access to Instant Web Publishing, XML web publishing, or XSLT web publishing for each database.
FileMaker Server Advanced Custom Web Publishing Guide About the tools for developing XSLT stylesheets FileMaker Server Advanced includes two tools for developing XSLT stylesheets: 1 1 The FileMaker Site Assistant is an application you can use to create basic XSLT stylesheets as a starting point for Custom Web Publishing with XSLT. The Site Assistant is a good way to learn how FileMaker XSLT stylesheets are constructed.
Chapter 1 | Introducing Custom Web Publishing 13 Connecting to the Internet or an intranet When you publish databases on the Internet or an intranet, the host computer must be running FileMaker Server, and the databases you want to share must be hosted and available. In addition: 1 1 It is strongly recommended that you publish your database on a computer with a full-time Internet or intranet connection.
1 1 FileMaker Server Advanced Custom Web Publishing Guide Some new query commands and parameters have been added, and some have become obsolete. To access data in a database, you must specify a layout. For security reasons, accessing data without specifying a layout is no longer supported. See appendix A, “Valid names used in query strings.” 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.
Chapter 1 1 1 | Introducing Custom Web Publishing 15 Some scripts that work with one step from a FileMaker Pro client may require an additional Commit Record/Request step to save the data to the host. Because web users don’t have a direct connection to the host, they aren’t notified when data changes. For example, features like conditional value lists aren’t as responsive for web users because the data must be saved to the host before the effects are seen in the value list field.
FileMaker Server Advanced Custom Web Publishing Guide Script step Behavior in Custom Web Publishing solutions Go to Field You cannot use Go to Field to make a particular field active in the web browser, but you can use this script step in conjunction with other script steps to perform tasks. For example, you can go to a field, copy the contents, go to another field and paste the value. To see the effect in the browser, be sure to save the record with the Commit Record script step.
Chapter 1 | Introducing Custom Web Publishing 17 Where to go from here Here are some suggestions for what to do and where to find information in the documentation to get started developing Custom Web Publishing solutions: 1 1 1 1 If you haven’t already done so, use FileMaker Server Administration and the Web Publishing Engine Administration Console to enable Custom Web Publishing. See FileMaker Server Administration Help and the FileMaker Server Advanced Web Publishing Installation Guide.
FileMaker Server Advanced Custom Web Publishing Guide
Chapter 2 Preparing databases for Custom Web Publishing Before you can use Custom Web Publishing with a database, there are some steps you must take to prepare the database and protect it from unauthorized access. Enabling Custom Web Publishing in a database You must enable Custom Web Publishing in each database you want to publish. You can individually enable either Custom Web Publishing with XML or Custom Web Publishing with XSLT, or you can enable both technologies in each database.
FileMaker Server Advanced Custom Web Publishing Guide Here is a summary of what happens when a web user uses a Custom Web Publishing solution to access a database: 1 1 1 If you have not assigned a password for an account, web users only specify the account name. If the Guest account is disabled, then users will be prompted for account name and password when they access the database. The account must have a Custom Web Publishing extended privilege enabled.
Chapter 2 | Preparing databases for Custom Web Publishing 21 Web server support for Internet media types (MIME) Your web server determines the support for the current MIME (Multipurpose Internet Mail Extensions) types registered for the Internet. The Web Publishing Engine does not change a web server’s support for MIME. For more information, see the documentation for your web server.
FileMaker Server Advanced Custom Web Publishing Guide
Chapter 3 Accessing XML data with the Web Publishing Engine You can obtain and update FileMaker data in Extensible Markup Language (XML) format by using the Web Publishing Engine. In the same way that HTML has become the standard display language for communication on the World Wide Web, XML has become the standard language for structured data interchange. Many individuals, organizations, and businesses use XML to transfer product information, transactions, inventory data, and other business data.
1 1 1 1 1 FileMaker Server Advanced Custom Web Publishing Guide You can dynamically access XML data from FileMaker databases by using URL requests with the Web Publishing Engine. The FileMaker Pro XML export feature generates a pre-specified XML data file. Working with XML data via the Web Publishing Engine is an interactive operation. FileMaker Pro XML import and export is a batch operation. The Web Publishing Engine can access XML data from a FileMaker portal, but FileMaker Pro cannot.
Chapter 3 | Accessing XML data with the Web Publishing Engine 25 General process for accessing XML data from the Web Publishing Engine Here is an overview of the process for using the Web Publishing Engine to access XML data in a FileMaker database: 1. In the Web Publishing Engine Administration Console, make sure XML Publishing is enabled. See FileMaker Server Advanced Web Publishing Installation Guide. 2.
FileMaker Server Advanced Custom Web Publishing Guide What’s new in the URL syntax for XML data In FileMaker Server versions 7 and 8, the Web Publishing Engine uses a URL syntax for accessing XML data. 1 FileMaker Pro 6 and earlier versions used the following syntax in requests for XML data: FMPro? This syntax has changed. See the next section, “About the URL syntax for XML data.
Chapter 3 | Accessing XML data with the Web Publishing Engine 27 About the URL syntax for FileMaker container objects in XML solutions In a generated XML document for an XML solution, the syntax used to refer to a container object is different for container fields that store the actual object in the database, as opposed to container fields that store a reference to the object.
FileMaker Server Advanced Custom Web Publishing Guide About URL text encoding The URLs for accessing XML data and container objects must be encoded in UTF-8 (Unicode Transformation 8 Bit) format. See “About UTF-8 encoded data” on page 36. For example, to set the value of the info field to fiancée, you could use the following URL: http://server.company.com/fmi/xml/fmresultset.
Chapter 3 | Accessing XML data with the Web Publishing Engine 29 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 elements, one for FileMaker XML data and another for Oracle XML data, the namespaces will identify the element for each. The Web Publishing Engine generates a default namespace for each grammar.
FileMaker Server Advanced Custom Web Publishing Guide For example: http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=family&–findall Note When specifying the fmresultset grammar, be sure to use lowercase. The Web Publishing Engine will generate an XML document using the fmresultset grammar.
Chapter 3 | Accessing XML data with the Web Publishing Engine 31 The element represents a portal. Each related field in a portal is represented by the element contained within the element. If there are multiple related fields in a portal, the field definitions for the related fields are grouped within a single element.
FileMaker Server Advanced Custom Web Publishing Guide Paul Cezanne Vault 07/07/1997 Home 08/01/2001
Chapter 3 | Accessing XML data with the Web Publishing Engine 33 To use the FMPXMLLAYOUT grammar, specify the following grammar name with the –view query command in the URL requesting the XML document from the Web Publishing Engine: FMPXMLLAYOUT.xml For example: http://192.168.123.101/fmi/xml/FMPXMLLAYOUT.xml?–db=employees&–lay=family&–view Note When specifying the FMPXMLRESULT and FMPXMLLAYOUT grammars, be sure to enter the grammar name in uppercase.
FileMaker Server Advanced Custom Web Publishing Guide |
Chapter 3 | Accessing XML data with the Web Publishing Engine 35 For date, time, and timestamp fields, data for value lists are formatted using the “fm” format for that field type. The “fm” formats are MM/dd/yyyy for date, HH:mm:ss for time, and MM/dd/yyyy HH:mm:ss for timestamp. See “Using the date, time, and day extension functions” on page 72.
FileMaker Server Advanced Custom Web Publishing Guide 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.
Chapter 3 | Accessing XML data with the Web Publishing Engine 37 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 54.
FileMaker Server Advanced Custom Web Publishing Guide Use these query parameter names With these query commands –script.param (pass a parameter value to the Optional with –script script specified by –script) –script.prefind (perform script before –find, –findany, and –findall) Optional with –find, –findany, –findall –script.prefind.param (pass a parameter value Optional with –script.prefind to the script specified by –script.prefind) –script.
Chapter 3 | Accessing XML data with the Web Publishing Engine 39 6. Sort the resulting data, if a sort was specified. 7. Process the –lay.response query parameter to switch to a different layout, if this is specified. 8. Process the –script query parameter, if specified. 9. Generate the XML document. If one of the above steps generates an error code, the request processing stops; any steps that follow are not executed. However, any prior steps in the request are still executed.
FileMaker Server Advanced Custom Web Publishing Guide Based on this request, the Web Publishing Engine will include the following processing instruction in the XML document: Copy or place the stylesheet for client-side processing on the web server in the location specified by the absolute path in the URL for the HREF attribute.
Chapter 4 Introduction to Custom Web Publishing with XSLT You can use FileMaker XSLT stylesheets to transform, filter, or format XML data for use in a web browser or in other programs and applications. This chapter introduces FileMaker XSLT stylesheets and two tools to help you get started creating XSLT stylesheets—the Site Assistant and the CDML Converter. For more detailed information about how FileMaker XSLT stylesheets are constructed, see chapter 5, “Developing FileMaker XSLT stylesheets.
FileMaker Server Advanced Custom Web Publishing Guide Getting started using Custom Web Publishing with XSLT If you know standard XML and XSLT, then you can immediately start using the Web Publishing Engine after learning a few unique details about FileMaker XML and XSLT, such as how to use the FileMakerspecific XSLT extension functions and query commands and parameters. The Site Assistant and the CDML Converter are tools to help you get started creating stylesheets and learn how they are constructed.
Chapter 4 | Introduction to Custom Web Publishing with XSLT 43 General steps for using Custom Web Publishing with XSLT Here is a summary of the steps for using Custom Web Publishing with XSLT: 1. In the Web Publishing Engine Administration Console, make sure XSLT Publishing is enabled. See the FileMaker Server Advanced Web Publishing Installation Guide. 2.
FileMaker Server Advanced Custom Web Publishing Guide Using the FileMaker Site Assistant to generate FileMaker XSLT stylesheets The FileMaker Site Assistant is an application you can use to create basic XSLT stylesheets as a starting point for use with Custom Web Publishing with XSLT. The Site Assistant is a good way to learn how FileMaker XSLT stylesheets are constructed. You can then use your own XSLT stylesheet authoring or text editing tools to modify the stylesheets as necessary.
Chapter 4 | Introduction to Custom Web Publishing with XSLT 45 Starting the Site Assistant To start the Site Assistant, do one of the following: 1 Double-click the FileMaker Site Assistant application icon. 1 Windows: Click the Start button, and choose FileMaker Site Assistant from the Programs menu. FileMaker Site Assistant Using the Site Assistant For detailed information and step-by-step procedures for using the Site Assistant, see the Site Assistant Help.
FileMaker Server Advanced Custom Web Publishing Guide About the Site Assistant’s generated stylesheets The XSLT stylesheets generated by the Site Assistant include several FileMaker-specific processing instructions, elements, and parameters. Here are a few examples of what is included: 1 The processing instruction specifies the XML grammar to use and statically defines the name of the database you chose in the Site Assistant.
Chapter 4 | Introduction to Custom Web Publishing with XSLT 47 Installing the CDML Converter For information about installing the CDML Converter, see the FileMaker Server Advanced Web Publishing Installation Guide.
FileMaker Server Advanced Custom Web Publishing Guide 5. For Destination Folder, click Select to specify the folder where you want to store the converted XSLT stylesheets and other files from the CDML web site. The CDML Converter creates a folder hierarchy and a set of files in the destination folder that correspond to the source files. The CDML Converter copies files from the source folder that do not require CDML conversion, such as the GIF files in an images subfolder, without changing them.
Chapter 4 | Introduction to Custom Web Publishing with XSLT 49 For more information about the CDML to XSLT mapping rules and other situations where you will have to manually fix XSLT statements because the CDML tag conversion could not be done, see appendix C, “Converting CDML solutions to FileMaker XSLT.” Notes 1 1 If there are any query parameters that reference CDML format files from database fields, you will need to manually update the references in the database.
FileMaker Server Advanced Custom Web Publishing Guide 3. If a database container field stores a file reference instead of an actual file, then the referenced container object must be stored in the FileMaker Pro Web folder when the record is created or edited, and then copied or moved to a folder with the same relative location in the root folder of the web server software. See “About publishing the contents of container fields on the web” on page 21.
Chapter 5 Developing FileMaker XSLT stylesheets This chapter contains information about how FileMaker XSLT stylesheets are constructed and how to use the FileMaker XSLT extension functions. Using XSLT stylesheets with the Web Publishing Engine When developing and using XSLT stylesheets to request FileMaker XML data via the Web Publishing Engine, be aware of the following points: 1 1 1 1 To use an XSLT stylesheet with the Web Publishing Engine, you must specify the name of the XSLT stylesheet in a URL.
FileMaker Server Advanced Custom Web Publishing Guide To construct a request, the Web Publishing Engine begins by using any query command and query parameters that are statically defined in the optional processing instruction. The statically defined query command and parameters become the base request.
Chapter 5 | Developing FileMaker XSLT stylesheets 53 About the URL syntax for FileMaker container objects in XSLT solutions In a generated XML document for an XSLT solution, the syntax used to refer to a container object is different for container fields that store the actual object in the database, as opposed to container fields that store a reference to the object.
FileMaker Server Advanced Custom Web Publishing Guide Using query strings in FileMaker XSLT stylesheets When using a query string in a URL or in the processing instruction in a FileMaker XSLT stylesheet, you can include any of the query commands and parameters that are defined for requesting XML data from a FileMaker database. See “Using FileMaker query strings to request XML data” on page 36.
Chapter 5 | Developing FileMaker XSLT stylesheets 55 About namespaces and prefixes for FileMaker XSLT stylesheets Unique XSLT namespaces help distinguish XSLT tags by the application they were designed for. In the element at the start of all FileMaker XSLT stylesheets, declare the namespaces for the FileMaker XSLT extension functions and the particular grammars you are using in the stylesheet.
FileMaker Server Advanced Custom Web Publishing Guide where: name is a string that is the name of a query command, query parameter, or database field. value is an arbitrary length string value. For query parameters and field names, use the particular value you want to define, such as “–db=products”. For query commands, don’t specify an equals (“=”) sign or a value after the command name, such as –findall. See appendix A, “Valid names used in query strings.
Chapter 5 | Developing FileMaker XSLT stylesheets 57 After the Web Publishing Engine determines the encoding, that encoding is used and no further steps are taken to determine the encoding. For example, if the charset attribute is set in the Content-Type request header, the Web Publishing Engine does not use the value of the –encoding query parameter.
FileMaker Server Advanced Custom Web Publishing Guide About the encoding of XSLT stylesheets In addition to the encoding for requests and output pages, the encoding of your XSLT stylesheets must be specified in the encoding attribute of the XML declaration at the top of the stylesheet. You can use any of the text encodings listed in the table on page 57. For example, this declaration specifies UTF-8 as the encoding of the stylesheet:
Chapter 5 | Developing FileMaker XSLT stylesheets 59 Using the FileMaker XSLT extension functions and parameters The FileMaker XSLT extension functions are defined to be in the fmxslt namespace. Make sure you include a declaration of the fmxslt namespace in the element at the start of your XSLT stylesheet. See “About namespaces and prefixes for FileMaker XSLT stylesheets” on page 55.
FileMaker Server Advanced Custom Web Publishing Guide An XML document fragment is loaded into the request-query parameter in the following grammar: ] Note The query information is defined to be in the namespace fmq="http://www.filemaker.com/xml/query".
Chapter 5 | Developing FileMaker XSLT stylesheets 61 Using the Web Publishing Engine base URI parameter The Web Publishing Engine defines the base Uniform Resource Identifier (URI) parameter to be the host and port where the Web Publishing Engine is installed. The base URI allows requests for XML data from FileMaker databases to be resolved in relation to the Web Publishing Engine host.
FileMaker Server Advanced Custom Web Publishing Guide To load a password-protected XML document that requires a different user name and password than what was specified in the parent request, then use the following syntax to specify the user name and password as part of the URI that is passed to the document() function: http://username:password@hostname/path?querystring To load an XML document that is not based on a FileMaker database, use the document() function without FileMaker query commands or que
Chapter 5 | Developing FileMaker XSLT stylesheets 63 Using content buffering When content buffering is disabled, the Web Publishing Engine streams the result of an XSLT transformation directly back to the client. Content buffering is always disabled unless you explicitly enable it. If you enable content buffering, the Web Publishing Engine stores the transformed content until the entire transformation is finished. Content buffering is required for XSLT stylesheets that manipulate headers.
FileMaker Server Advanced Custom Web Publishing Guide If the client does not allow cookies, the page includes: hyperlinked text If the Web Publishing Engine detects that the client allows cookies, then the fmxslt:session_encode_url() function stores the session ID in a cookie instead of the URL. Note Session information does not persist after the Web Publishing Engine is restarted.
Chapter 5 | Developing FileMaker XSLT stylesheets 65 Here is an example of creating a session and then storing a favorite color in the session: true PAGE 66FileMaker Server Advanced Custom Web Publishing Guide Notes 1 In each of the three forms of the fmxslt:send_email () function, the smtpFields parameter is a URL-encoded string of any length that contains the address and subject information using the following format, which is based on RFC 2368, the mailto URL scheme: username@host?name1=value1&name2=value2... where username@host specifies a recipient.
Chapter 5 1 | Developing FileMaker XSLT stylesheets 67 The fmxslt:send_email(String smtpFields, String xsltFile, Node xml, boolean includeImages) function sends an email message consisting of XML data that is processed by the email stylesheet you specify in this function. 1 For the xsltFile parameter, specify the name of the email stylesheet by entering a URL that is relative to the main processing stylesheet file for the request.
FileMaker Server Advanced Custom Web Publishing Guide The following example demonstrates how to set the value of the header. Suppose you are using a stylesheet to output a vCard. There is a potential problem that when a browser tries to load the stylesheet page, the browser could interpret the .xsl file as a stylesheet rather than a vCard. If you use the header called ContentDisposition, you can specify that there is an attachment with an extension of .vcf.
Chapter 5 | Developing FileMaker XSLT stylesheets 69 Using the string manipulation extension functions You can use the string manipulation functions to change the encoding of strings of any length. String manipulation extension function Data type returned fmxslt:break_encode(String value) string Returns an HTML break-encoded string. Characters such as “&” (ampersand) are replaced with “&”. New line characters such as line feeds and carriage returns are replaced with
.
FileMaker Server Advanced Custom Web Publishing Guide String manipulation extension function Data type returned fmxslt:url_decode(String value) string Returns a URL-decoded string from a URL string that was previously encoded. fmxslt:url_decode(String value, String encoding) string Returns a URL-decoded string using the character encoding you specify for the encoding parameter, which can be: US-ASCII, ISO-8859-1, ISO-885915, ISO-2022-JP, Shift_JIS or UTF-8.
Chapter 5 | Developing FileMaker XSLT stylesheets 71 For example, suppose a field in a FileMaker database layout has the following checkbox options: [ ] Red [ ] Blue [ ] Green [ ] Small [ ] Medium [ ] Large If a user selected Red only, then the field would contain the string “Red”.
FileMaker Server Advanced Custom Web Publishing Guide Using the date, time, and day extension functions You can use extension functions to get the current date, time, or day, and to compare any two dates, times, or days. The functions in the following table use the “fm” formats regardless of locale. The “fm” formats are MM/ dd/yyyy for date, HH:mm:ss for time, and MM/dd/yyyy HH:mm:ss for timestamp.
Chapter 5 Date, time, day extension function Data type returned | Developing FileMaker XSLT stylesheets 73 Description fmxslt:compare_time(String time1, String time2) number This function compares two time values. It returns a negative number if time1 is before time2. It returns a positive number if time1 is after time2. It returns a 0 if time1 is identical to time2. Both times must be specified in the “fm” time format.
FileMaker Server Advanced Custom Web Publishing Guide Letter Date or Time Component Presentation Examples F Day of week in month Number 2 E Day in week Text Tuesday; Tue a Am/pm marker Text PM H Hour in day (0-23) Number 0 k Hour in day (1-24) Number 24 K Hour in am/pm (0-11) Number 0 h Hour in am/pm (1-12) Number 12 m Minute in hour Number 30 s Second in minute Number 55 S Millisecond Number 978 z Time zone General time zone Pacific Standard Time; PST; GM
Chapter 5 1 1 | Developing FileMaker XSLT stylesheets 75 Month: If the number of pattern letters is three or more, the month is interpreted as text; otherwise, it is interpreted as a number. General time zone: Time zones are interpreted as text if they have names. For time zones representing a GMT offset value, the following syntax is used: 1 1 1 1 1 GMTOffsetTimeZone. GMT Sign Hours:Minutes Sign. + or Hours. Digit or Digit Digit Minutes. Digit Digit Digit.
FileMaker Server Advanced Custom Web Publishing Guide Checking the error status of extension functions You can use the following extension function within an XSLT stylesheet to check the current error status of the most recently called FileMaker XSLT extension function and handle errors that occur during the processing of your pages: fmxslt:check_error_status() When the fmxslt:check_error_status() function is called, the Web Publishing Engine returns the current error code value for the most recently
Chapter 5 | Developing FileMaker XSLT stylesheets 77 2. Define the extension component and extension functions, with the code that actually implements your extension function. function getValueColor(value) { if (value > 0) return ("#009900"); else return ("#CC0000"); } This example returns a color value based on an input value.
FileMaker Server Advanced Custom Web Publishing Guide The example below shows a JavaScript XSLT extension function that retrieves a current stock price from Yahoo and makes it available via an XPath function: PAGE 79Chapter 5 | Developing FileMaker XSLT stylesheets 79 Apple Stock Price:
When the Web Publishing Engine processes this stylesheet, it requests the stock information from Yahoo. The get_quote() function parses the stock quote data and returns the data to the stylesheet.
FileMaker Server Advanced Custom Web Publishing Guide
Chapter 6 Testing and monitoring a site Test your Custom Web Publishing site before deploying it. You can use log files to monitor the site during testing or after deployment. Testing a Custom Web Publishing site Before notifying users that your Custom Web Publishing site is available, it is important to verify that it looks and functions as you expect. 1 1 1 1 Test features like finding, adding, deleting, and sorting records with different accounts and privilege sets.
1 FileMaker Server Advanced Custom Web Publishing Guide When debugging a stylesheet, you can use the following example of an HTML
FileMaker Server Advanced Custom Web Publishing Guide Using Web Publishing Core internal access logs The Web Publishing Core software component of the Web Publishing Engine generates two internal access log files that are a record of each time the Web Publishing Core is accessed: 1 The wpc_access_log.txt access log is a record of all end-user requests to generate XML and to use FileMaker Server Instant Web Publishing. These requests are routed from the web server directly to the Web Publishing Core.
Appendix A Valid names used in query strings This appendix describes the valid names of query commands and parameters you can use in a query string when accessing FileMaker data using the Web Publishing Engine. About the query commands and parameters The following is a complete list of the query command names and query parameter names: Query command names Query parameter names –dbnames (See page 89.) –delete (See page 89.) –dup (See page 90.) –edit (See page 90.) –find, –findall, –findany (See page 90.
FileMaker Server Advanced Custom Web Publishing Guide Obsolete request names and parameters The following request name and parameters are no longer supported: Obsolete request names Comment –dbopen Opened a database in the Web folder with Remote Administration enabled. –dbclose Closed a database in the Web folder with Remote Administration enabled. –img Retrieved the specified image. Use a container URL instead.
Appendix A 1 | Valid names used in query strings 87 Database names, layout names, and field names used in query strings are case insensitive, such as –lay=mylayout to specify MyLayout. Note Field and database names that are used in XSLT statements outside of query strings are case sensitive and must exactly match the actual names used in the database.
FileMaker Server Advanced Custom Web Publishing Guide Adding records to a portal To add a new record to a portal at the same time you add a parent record, use the –new query command and do the following in query string for the request: 1 1 1 1 Use the fully qualified field name for the related portal field. Specify 0 as the record ID after the name of the related portal field. Specify at least one of the fields for the parent record before specifying the related portal field.
Appendix A | Valid names used in query strings 89 You must use the .global syntax to identify a global field in a query string. The Web Publishing Engine sets the parameter values for global fields before performing the query command or setting any other parameter values in the query string. For direct XML requests and requests made via XSLT stylesheets that don’t use sessions, the global values expire immediately after the request is made.
FileMaker Server Advanced Custom Web Publishing Guide –dup (Duplicate record) query command Duplicates the record specified by –recid Required query parameters: –db, –lay, –recid Optional query parameter: –script Example: To duplicate the specified record: http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–recid=14&–dup –edit (Edit record) query command Updates the record specified by the –recid parameter, populating the fields with the contents of any field name/value pairs.
Appendix A | Valid names used in query strings 91 –layoutnames (Layout names) query command Retrieves the names of all available layouts for a specified database that is hosted by FileMaker Server and enabled for Custom Web Publishing with XML or XSLT Required query parameters: –db Example: To retrieve the names of available layouts: http://192.168.123.101/fmi/xml/fmresultset.
FileMaker Server Advanced Custom Web Publishing Guide –view (View layout information) query command If the FMPXMLLAYOUT grammar is specified, retrieves layout information from a database and displays it in the FMPXMLLAYOUT grammar. If a data grammar (fmresultset or FMPXMLRESULT) is specified, retrieves the metadata section of XML document and an empty recordset. Required query parameters: –db, –lay Optional query parameter: –script Examples: To retrieve layout information: http://192.168.123.
Appendix A | Valid names used in query strings 93 –field (Container field name) query parameter Specifies the name of a container field Required with: request for data in a container field See “About the URL syntax for FileMaker container objects in XML solutions” on page 27, and “About the URL syntax for FileMaker container objects in XSLT solutions” on page 53.
FileMaker Server Advanced Custom Web Publishing Guide fieldname.op (Comparison operator) query parameter Specifies the comparison operator to apply to the field name that precedes the operator. Comparison operators are used with the –find query command. Value is: The operator you want to use. The default operator is “begins with”.
Appendix A | Valid names used in query strings 95 –grammar (Grammar for XSLT stylesheets) query parameter Specifies the grammar to use for an XSLT stylesheet. This query command can only be used with Custom Web Publishing with XSLT requests. Value is: fmresultset, FMPXMLRESULT or FMPXMLLAYOUT Required with: All XSLT requests Example: http://192.168.123.101/fmi/xsl/my_template/my_stylesheet.
FileMaker Server Advanced Custom Web Publishing Guide –lop (Logical operator) query parameter Specifies how the find criteria in the –find query command are combined as either an “and” or an “or” search Value is: and or or (which must be specified in lowercase). If the –lop query parameter is not included, then the –find query command uses the and value. Optional with: –find query command Example: http://192.168.123.101/fmi/xml/fmresultset.
Appendix A | Valid names used in query strings 97 –script (Script) query parameter Specifies the FileMaker script to run after the query command and sorting are executed. See “Understanding how an XML request is processed” on page 38. Value is: Script name Optional with: all query commands except –dbnames, –layoutnames, –process, and –scriptnames Example: http://192.168.123.101/fmi/xml/fmresultset.xml?–db=employees&–lay=departments&–script=myscript&–findall –script.
FileMaker Server Advanced Custom Web Publishing Guide –script.prefind.param (Pass parameter to Script before Find) query parameter Passes a parameter to the FileMaker script specified by –script.prefind Value is: A single text parameter. 1 1 1 1 To pass in multiple parameters, you can create a string delimiting the parameters and have your script parse out the individual parameters.
Appendix A | Valid names used in query strings 99 –skip (Skip records) query parameter Specifies how many records to skip in the found set Value is: A number. If the value is greater than the number of records in the found set, then no record is displayed. The default value is 0. Optional with: –find query command In the following example, the first 10 records in the found set are skipped and records 11 through 15 are returned. Example: http://192.168.123.101/fmi/xml/fmresultset.
FileMaker Server Advanced Custom Web Publishing Guide The –sortorder query parameter can been used with the –sortfield query parameter to specify the sort order of multiple sort fields. The syntax for specifying the sort order of a sort field is: –sortorder.precedence-number=sort-method where: 1 precedence-number in the –sortorder.precedence-number parameter is a number from 1 to 9 that specifies the –sortfield query parameter that the –sortorder query parameter applies to.
Appendix A | Valid names used in query strings 101 –token.[string] (Pass values between XSLT stylesheets) query parameter Passes any user-defined information between XSLT stylesheets without using sessions or cookies. This query parameter can only be used with Custom Web Publishing with XSLT requests. string in –token.
FileMaker Server Advanced Custom Web Publishing Guide
Appendix B Error codes for Custom Web Publishing The Web Publishing Engine supports three types of error codes that can occur for Custom Web Publishing: 1 1 1 Database and query string errors: The Web Publishing Engine generates an error code for a published database whenever an XML data request occurs. For information, see the next section, “Error code numbers for FileMaker databases.
FileMaker Server Advanced Custom Web Publishing Guide Error Number Description 4 Command is unknown 5 Command is invalid (for example, a Set Field script step does not have a calculation specified) 6 File is read-only 7 Running out of memory 8 Empty result 9 Insufficient privileges 10 Requested data is missing 11 Name is not valid 12 Name already exists 13 File or object is in use 14 Out of range 15 Can’t divide by zero 16 Operation failed, request retry (for example, a user
Appendix B | Error codes for Custom Web Publishing 105 Error Number Description 201 Field cannot be modified 202 Field access is denied 203 No records in file to print, or password doesn’t allow print access 204 No access to field(s) in sort order 205 User does not have access privileges to create new records; import will overwrite existing data 206 User does not have password change privileges, or file is not modifiable 207 User does not have sufficient privileges to change database sche
FileMaker Server Advanced Custom Web Publishing Guide Error Number Description 412 Wrong version of FileMaker Pro used to recover file 413 Specified field has inappropriate field type 414 Layout cannot display the result 415 One or more required related records are not available 500 Date value does not meet validation entry options 501 Time value does not meet validation entry options 502 Number value does not meet validation entry options 503 Value in field is not within the range sp
Appendix B | Error codes for Custom Web Publishing 107 Error Number Description 721 Unknown error occurred in the parser or the transformer 722 Cannot import data into a file that has no fields 723 You do not have permission to add records to or modify records in the target table 724 You do not have permission to add records to the target table 725 You do not have permission to modify records in the target table 726 There are more records in the import file than in the target table.
FileMaker Server Advanced Custom Web Publishing Guide Error Number Description 821 Host forced a disconnect 822 FMI files not found; reinstall missing files 823 Cannot set file to single-user, guests are connected 824 File is damaged or not a FileMaker file 900 General spelling engine error 901 Main spelling dictionary not installed 902 Could not launch the Help system 903 Command cannot be used in a shared file 904 Command can only be used in a file hosted under FileMaker Server 9
Appendix B | Error codes for Custom Web Publishing 109 Error Number Description 1214 AVERAGE, COUNT, EXTEND, GETREPETITION, MAX, MIN, NPV, STDEV, SUM and GETSUMMARY: expression found where a field alone is needed 1215 This parameter is an invalid Get function parameter 1216 Only Summary fields allowed as first argument in GETSUMMARY 1217 Break field is invalid 1218 Cannot evaluate the number 1219 A field cannot be used in its own formula 1220 Field type must be normal or calculated 1221
FileMaker Server Advanced Custom Web Publishing Guide When the Web Publishing Engine is operating in Development mode, the error page for this type of error contains an error message and error number in parentheses.
Appendix B | Error codes for Custom Web Publishing 111 For information on how to set the Web Publishing Engine into Development or Production mode, see FileMaker Server Advanced Web Publishing Installation Guide.
FileMaker Server Advanced Custom Web Publishing Guide Error code value Description Formatting Errors 10300 Unknown formatting error 10301 Invalid date time format 10302 Invalid date format 10303 Invalid time format 10304 Invalid day format 10305 Improperly formatted date time string 10306 Improperly formatted date string 10307 Improperly formatted time string 10308 Improperly formatted day string 10309 Unsupported text encoding 10310 Invalid URL encoding 10311 Regular expressi
Appendix C Converting CDML solutions to FileMaker XSLT This appendix explains the results of using the FileMaker CDML Converter to convert CDML format files to FileMaker XSLT stylesheets. For information on using the FileMaker CDML Converter, see “Using the FileMaker CDML Converter” on page 46. Note In this appendix and in the generated comments in converted XSLT stylesheets, the term “XSLTCWP” refers to FileMaker Custom Web Publishing with XSLT.
1 FileMaker Server Advanced Custom Web Publishing Guide inserts the following declarations for the namespaces, XSLT parameters, and variables that are used in a stylesheet. The declarations are inserted before and after the converted XSLT-CWP statements: PAGE 115Appendix C | Converting CDML solutions to FileMaker XSLT 115 Conversion of CDML action tags, variable tags, and URLs To convert CDML action tags, variable tags, and URLs, the CDML Converter does the following: 1 1 The CDML Converter does not change unidentified tag names that are preceded by a dash (–). Unidentified tag names in a URL are moved to the end of the query string.
1 1 FileMaker Server Advanced Custom Web Publishing Guide If a CDML request does not specify a –max query parameter for a –find or –findall query command, the CDML Converter adds –max=25 to the converted XSLT request. The CDML Converter uses the value 25 to create the same behavior as the original CDML request in which 25 records are returned if the –max query parameter is not specified.
Appendix C | Converting CDML solutions to FileMaker XSLT 117 [... converted format.xsl code here ...] The error.html file is converted to an error.xsl stylesheet that contains a named template: [... converted error.xsl code here ... ] The CDML Converter includes all error files in a global error file named cdml2xsl_includes.xsl.
FileMaker Server Advanced Custom Web Publishing Guide This CDML action tag Is converted to this XSLT-CWP query parameter with no change in syntax –dbnames –dbnames –layoutnames –layoutnames –scriptnames –scriptnames Conversion of obsolete CDML variable tags Here’s how the CDML Converter handles the conversion of the following obsolete CDML variable tags: This obsolete CDML variable tag Is replaced with this comment after the original variable tag location –errorfmtfield 1 if used in document, $current-action variable is created at top-level using named template from the cdml2xsl_utilities.
FileMaker Server Advanced Custom Web Publishing Guide CDML tag name: Current Day Tag is replaced with the name of the current day of the week CDML syntax: [FMP-CurrentDay: Format], where Format is 'Short' (default), or 'Long' XSLT-CWP conversion: 1 1 1 1 when inside SGML element attribute value, 'Short': {fmxslt:get_day('short')} or, 'Long': {fmxslt:get_day('long')} otherwise, 'Short': or, 'Long': Con
Appendix C | Converting CDML solutions to FileMaker XSLT 131 CDML tag name: Current Find Repeats the HTML between [FMP-CurrentFind] and [/FMP-CurrentFind] for each find criteria that was part of the request that created this page CDML syntax: [FMP-CurrentFind]...[/FMP-CurrentFind] XSLT-CWP conversion: 1 1 1 ...
FileMaker Server Advanced Custom Web Publishing Guide CDML tag name: Current Found Count Tag is replaced with the total number of records in the current found set CDML syntax: [FMP-CurrentFoundCount] XSLT-CWP conversion: 1 1 when inside SGML element attribute value: {fmrs:fmresultset/fmrs:resultset/@count} otherwise: Conversion example Original CDML: Record(s) in found set: [FMP-CurrentFoundCount] Converted XSLT-CWP: Record(s) in f
Appendix C | Converting CDML solutions to FileMaker XSLT CDML tag name: Current Max Tag is replaced with the maximum number of records that was specified CDML syntax: [FMP-CurrentMax] XSLT-CWP conversion: 1 1 1 when inside SGML element attribute value: {$current-max} otherwise: if used in document, $current-max variable is created at top-level using named template from the cdml2xsl_utilities.xsl stylesheet.
FileMaker Server Advanced Custom Web Publishing Guide Conversion example Converted XSLT-CWP:
FileMaker Server Advanced Custom Web Publishing Guide Conversion example Converted Result:
Appendix C | Converting CDML solutions to FileMaker XSLT 139 Conversion example Original CDML: The value of token.5 is [FMP-CurrentToken: 5, HTML] Converted XSLT-CWP: The value of token.5 is Converted Result: The value of token.5 is MyValue CDML tag name: Else Tag is replaced with the specified data if the preceding [FMP-If] BooleanExpression is false CDML syntax: [FMP-If: BooleanExpression1]...[FMP-Else]...
FileMaker Server Advanced Custom Web Publishing Guide Conversion example Original CDML: [FMP-If: (Field:country.Eq.us).or.(Field:country.Eq.usa)] United States of America [FMP-ElseIf: Field:country .Eq.
Appendix C | Converting CDML solutions to FileMaker XSLT 141 CDML tag name: Field Name Tag is replaced with the name of the current field. This is always found within a [FMP-LayoutFields] loop.
FileMaker Server Advanced Custom Web Publishing Guide CDML tag name: Find Field Item Tag is replaced with the field name that was part of the find request that created this page. This is always found within a [FMP-CurrentFind] loop.
Appendix C | Converting CDML solutions to FileMaker XSLT 143 Conversion example Original CDML: Current find request is: [FMP-CurrentFind] Field: [FMP-FindFieldItem], Op: [FMP-FindOpItem], Value: [FMP-FindValueItem]
[/FMP-CurrentFind] Converted XSLT-CWP: Current find request is:
Field: , Op: , Value:
Con
FileMaker Server Advanced Custom Web Publishing Guide CDML tag name: Header The HTTP header of the page sent to the browser is replaced with the text between the [FMP-Header] and [/ FMP-Header] tags. None of the text between the tags will appear in the HTML portion of the page. CDML syntax: [FMP-Header]...
Appendix C | Converting CDML solutions to FileMaker XSLT 145 Conversion example Original CDML: [FMP-If: First Name .eq. field: Nick Name] Your nick name is the same as your name. [/FMP-If] Converted XSLTCWP: Your nickname is the same as your name. Converted Result: Your nick name is the same as your name.
FileMaker Server Advanced Custom Web Publishing Guide CDML tag name: Include Tag is replaced with the contents of another file, usually an HTML format file CDML syntax: [FMP-Include: FileName] XSLT-CWP conversion: 1 Conversion example Original CDML: [FMP-InlineAction: -db={currentdatabase}, title="s", -lay=web3, find=] Title:[FMP-Field: Title], Artist: [FMP-Field: Artist]
[/FMP-InlineAction] Converted XSLT-CWP: PAGE 148FileMaker Server Advanced Custom Web Publishing Guide Conversion example Converted Result: CDML tag name: Link Tag is replaced with a URL that refers to the page it is on. The parameters can be used to remove portions of the generated URL. CDML syntax: PAGE 149Appendix C | Converting CDML solutions to FileMaker XSLT 149 CDML tag name: Link First The HTML between [FMP-LinkFirst] and [/FMP-LinkFirst] is replaced with a link to the first range of records based on the -Max value used to create the current page. CDML syntax: [FMP-LinkFirst]...[/FMP-LinkFirst] XSLT-CWP conversion: 1 1 ...
FileMaker Server Advanced Custom Web Publishing Guide Conversion example Original CDML: [FMP-LinkNext]Next set of records[/FMP-LinkNext] Converted XSLT-CWP: Next set of records Converted Result: PAGE 151
Appendix C | Converting CDML solutions to FileMaker XSLT 151 Conversion example Original CDML: More detail Converted XSLT-CWP: PAGE 152
FileMaker Server Advanced Custom Web Publishing Guide XSLT-CWP conversion: 1
Appendix C | Converting CDML solutions to FileMaker XSLT 153 CDML tag name: Portal Repeats the HTML between [FMP-Portal] and [/FMP-Portal] for each record in a specified portal CDML syntax: [FMP-Portal: RelationshipName]...[/FMP-Portal] XSLT-CWP conversion: 1 when current context is a record: ...
FileMaker Server Advanced Custom Web Publishing Guide CDML tag name: Range Size Tag is replaced with the number of records displayed on the page CDML syntax: [FMP-RangeSize] XSLT-CWP conversion: 1 1 when inside SGML element attribute value: {/fmrs:fmresultset/fmrs:resultset/@fetch-size} otherwise: Conversion example Original CDML: You are viewing [FMP-RangeSize] records.
Appendix C | Converting CDML solutions to FileMaker XSLT 155 Conversion example Original CDML: [FMP-Record] [FMP-Field: Country] - [FMP-Field: Capital]
[/FMP-Record] Converted XSLT-CWP:
Converted Result: Great Britain - London
France - Paris
USA - Washington D.
FileMaker Server Advanced Custom Web Publishing Guide CDML tag name: Repeating Item Tag is replaced with the contents of the next repetition. This is always found within a [FMP-Repeating] loop. CDML syntax: [FMP-RepeatingItem: Encoding], where Encoding is 'Raw', 'URL', 'HTML' (default), or 'Break' XSLT-CWP conversion: 1 1 when inside SGML element attribute value: {.} otherwise: PAGE 157Appendix C | Converting CDML solutions to FileMaker XSLT 157 CDML tag name: Sort Field Item Tag is replaced with the field name that was part of the request that created this page. This is always found within a [FMP-CurrentSort] loop.
FileMaker Server Advanced Custom Web Publishing Guide XSLT-CWP conversion: 1 1 1 when inside SGML element attribute value: {@order} otherwise: if Encoding is 'Display' then 'HTML' is used: 1 if used in document: $current-sort variable is created at top-level using named template from the cdml2xsl_utilities.
Appendix C | Converting CDML solutions to FileMaker XSLT 159 Conversion example Original CDML: [FMP-ValueList: Groups, List=GroupList] [FMP-ValueListItem] [/FMP-ValueList] Converted XSLT-CWP: PAGE 160FileMaker Server Advanced Custom Web Publishing Guide Conversion example Converted XSLT-CWP: PAGE 161Appendix C | Converting CDML solutions to FileMaker XSLT 161 Conversion example Converted Production Result: Sales Support CDML tag name: Value Name Item Tag is replaced by the name of a value list. This is always found within a [FMP-ValueNames] loop.
FileMaker Server Advanced Custom Web Publishing Guide CDML tag name: Value Names Repeats the HTML between [FMP-ValueNames] and [/FMP-ValueNames] for all the value lists that are in the database. CDML syntax: [FMP-ValueNames]...[/FMP-ValueNames] Note To be converted properly, the "[FMP-ValueNames]" CDML tag requires field(s) on the layout that reference the specified value list(s). XSLT-CWP conversion: 1 1 1 ...
Index A access log files for web server, described 82 access privileges 20 accounts and privileges enabling for Custom Web Publishing 19 Guest account 20 scripts 14 Administration Console for Web Publishing Engine 17–25, 43 application log 76, 83 ASCII characters, in XML documents 36 authenticated base URI parameter 61 authentication of web users 19, 60, 61 available scripts 91 B base URI parameter 61 Basic Authentication for web users 19, 60 break_encode() extension function 69 buffering, using in stylesh
FileMaker Server Advanced Custom Web Publishing Guide date format strings 73 day extension functions, using 72 –db query parameter 92 –dbnames query command 89 defining extension functions 76 –delete query command 89 Development mode, Web Publishing Engine 109 document type definitions (DTDs) 29, 30, 33 document() function 61 documentation 10 documentation information 10, 17 documents, loading via document() function 61 –dup query command 90 E –edit query command 90 electronic documentation 10 elemen
| fmxslt extension functions fmxslt:break_encode() function 69 fmxslt:check_error_status() function 76, 111 fmxslt:compare_date() function 72 fmxslt:compare_datetime() function 73 fmxslt:compare_day() function 73 fmxslt:compare_time() function 73 fmxslt:contains_checkbox_value() function 70 fmxslt:convert_datetime() function 73 fmxslt:create_session() function 64 fmxslt:get_cookie() function 68 fmxslt:get_cookies() function 68 fmxslt:get_date() function 72 fmxslt:get_datetime() function 73 fmxslt:get_day()
FileMaker Server Advanced Custom Web Publishing Guide invalidate_session() extension function 64, 65 ISO-2022-JP encoding 57 ISO-8859-1 encoding 57 ISO-8859-15 encoding 57 J JavaScript defining extension functions 76 JPEG files, publishing on web 21 jsessionid parameter 63 K keywords for enabling Custom Web Publishing 19, 25, 43 L –lay query parameter 38, 95 –lay.
| privilege set, assigning for Custom Web Publishing 19 –process query command 58, 91 processing XSLT stylesheets 91 Production mode, Web Publishing Engine 110 protecting published databases 20 publishing on the web connecting to Internet or intranet 13 container field objects 21, 50 database error codes 103 protecting databases 20 QuickTime movies 21 requirements for 12 using Instant Web Publishing 9 using XML 9, 11, 25 using XSLT 9, 11, 43, 51 Q query information, accessing in request 59 query strings 36
FileMaker Server Advanced Custom Web Publishing Guide specifying layout when requesting XML data 38 specifying XML grammar 54 SSL (Secure Sockets Layer) encryption 20 state, saving in sessions 63, 64 statically defined query strings in XSLT stylesheets 55 storing information in sessions 63, 64 strings comparing via Perl regular expressions 70 using string manipulation extension functions 69 –stylehref query parameter 100 stylesheets about 41 checkboxes, checking for values in 70 client-side 39 compari
| Index 169 V X values, checking for in checkboxes 70 vCards, reformatting XML data into 23 –view query command 92 XML described 23 document type definitions (DTDs) 29, 30, 33 enabling in database 19 encoded using UTF-8 format 28, 36 filtering data 23 FMPXMLLAYOUT grammar 34 FMPXMLRESULT grammar 33 fmresultset grammar 30 element 30 element 30 element 31 generating XML data from request 24 grammars, described 28 namespaces for 29 order of request processing 38 parser
FileMaker Server Advanced Custom Web Publishing Guide XSLT CDML Converter, using 46 checkboxes, checking for values in 70 comparing strings via Perl regular expressions 70 content buffering, using 63 cookie extension functions 68 date and time format strings 73 date, time, and day extension functions 72 described 41 developing stylesheets 51 email messages, sending 65 enabling in database 19 error status of extension functions, checking 76 examples of stylesheets 41 Extension Function Reference 52 ext