Custom Web Publishing Guide

Table Of Contents
Developing FileMaker XSLT stylesheets 63
Notes
1 The name used in the fmxslt:get_header() and fmxslt:set_header() functions, and the value in the
fmxslt:set_header() function can be a string of any length.
1 The fmxslt:set_header() function and the fmxslt:set_status_code() function require the <?xslt-cwp-buffer?>
processing instruction. See
“Using content buffering” on page 58.
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 Content-Disposition,
you can specify that there is an attachment with an extension of .vcf.
<xsl:value-of select="fmxslt:set_header('Content-Disposition','attachment;filename=test.vcf')" />
Using the cookie extension functions
You can use the cookie extension functions to get or set cookies stored in the client’s web browser.
Notes
1 The fmxslt:get_cookie() and fmxslt:get_cookies() functions return a node-set in the following structure:
<!ELEMENT cookie (#PCDATA)>
<!ATTLIST cookie
name CDATA #REQUIRED>
1 All of the parameter values for the fmxslt:set_cookie functions must be valid or else the web browser will
ignore the
fmxslt:set_cookie function requests.
1 For all cookie functions, the string parameters can be any length.
1 Both forms of the fmxslt:set_cookie() function require the <?xslt-cwp-buffer?> processing instruction. See
“Using content buffering” on page 58.
Here is an example of how to set a cookie with all values:
<xsl:variable name="storing_cookie" select="fmxslt:set_cookie ('text1', 'text2', 1800, 'my_text', 'my.company.com')" />
Cookie extension function Data type returned Description
fmxslt:get_cookie(String name) node-set Returns the COOKIE node-list that has the specified
cookie name.
fmxslt:get_cookies() node-set Returns COOKIE node-list with all of the cookies
supplied by the client.
fmxslt:set_cookie(String name,
String value)
void Stores the specified cookie in the client’s browser
with the specified value.
fmxslt:set_cookie(String name,
String value, Number expires, String path,
String domain)
void Stores the specified cookie in the client’s browser
with all of the values available for a cookie. The
Expires parameter is the number of seconds until the
cookie expires.