ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



TclXSLT(n)                                                                                        TclXSLT(n)



____________________________________________________________________________________________________________

NAME
       ::xslt::compile -SYNOPSIS ::xslt::compileSYNOPSIS

SYNOPSIS
       package require xslt

       xslt2.5

       ::xslt

       ::xslt::compile doc

       ssheet method ? option value ... ? ? args ... ?

       ::xslt::extensionadd nsuri tcl-namespace
____________________________________________________________________________________________________________


DESCRIPTION
       TclXSLT  is a wrapper for the  that allows an application to perform XSL transformations (XSLT).  The
       package also provides a binding to the XSLT extension mechanism so that XSLT extension may be  imple-mented implemented
       mented using Tcl scripts.


       Transformation only works with documents created by TclDOM/libxml2.


       The  TclXSLT  package makes extensive use of Tcl objects.  Compiled XSL stylesheets are stored as the
       internal representation of a Tcl object.  Source and result documents are  accessed  via  TclDOM's  C
       interface as Tcl objects.  This allows the application to cache parsed XML documents and compiled XSL
       stylesheets for better runtime performance.


PACKAGES AND NAMESPACES
       The TclXSLT package defines the  package and also a Tcl namespace using that name.


COMMANDS
       ::xslt::compile


       The ::xslt::compile command pre-compiles a stylesheet document.  It  returns  a  compiled  stylesheet
       object  and  also  defines  a  Tcl command to access the stylesheet.  This Tcl command may be used to
       transform XML documents.


       NB.  It is advisable to use the  -baseuri option when parsing the source and stylesheet documents  to
       allow external resources to be resolved.



       Stylesheet Command


       The stylesheet command created by ::xslt::compile command accesses a compiled stylesheet.


       Following is an example of how to use the stylesheet transform method.


              Command Methods


              The following command methods may be used:



                      cget option

                     Returns the value of an option.  See below for the list of valid options.


                      configure optionvalue

                     Sets the value of an option.  Available options are as follows:




                      transform source ? name value?

                     Performs an XSL transformation on the  given  source
                     document.  Stylesheet parameters may be specified as
                     name-value pairs.  The  return  result  is  the  DOM
                     token for the result document.


              Stylesheet Parameters


              Any  number  of  name-value pairs may be specified as argu-ments arguments
              ments to the stylesheet transform method.  These are passed
              as  values  for  parameters in the stylesheet.   interprets
              the values as XPath expressions, where the context node  is
              the  root node for the source document.  To pass a value as
              a string it must be XPath-quoted, for example


                     set library "Gnome libxslt"
                     $ssheet transform $source_doc library '$library' author "'Daniel Veillard'" node {/*/Element[3]}



       ::xslt::extension


       The ::xslt::extension command is used to manage extensions of  the
       library.  The add is used to register an extension.  The remove is
       used to unregister an extension.  See  for more detail.




EXTENSIONS
       The TclXSLT package allows an application to bind Tcl  scripts  to
       the extension mechanism of .  This means that Tcl scripts may pro-vide provide
       vide the implementation of an XSLT extension element or  function.
       The binding is achieved to associating a Tcl namespace with an XML
       namespace.

       Implementing An Extension


       The Tcl application uses the ::xslt::extension add command to reg-ister register
       ister  an extension.  An XML Namespace for the extension is speci-fied specified
       fied as an argument, along with a Tcl namespace that will  provide
       implementations of extension elements and functions.  For example,


       Everytime the ::xslt::transform command is executed, a  newly-cre-ated newly-created
       ated  XSLT  engine is initialized.  For each registered extension,
       every procedure in the associated Tcl namespace is defined in  the
       XSLT  engine  as either an extension element or an extension func-tion. function.
       tion.  The procedure is defined as an extension function if it has
       a  variable argument list, otherwise it is defined as an extension
       element.  The procedure name is used as  the  local  part  of  the
       extension name.  For example,


       "myfunc"  is  defined  as an extension function and "myelement" is
       defined as an extension element.


              Extension Functions


              The arguments to an extension function are converted  to  a
              string  value and then passed as parameters to the Tcl pro-cedure. procedure.
              cedure.


              The return result of the Tcl procedure becomes  the  return
              value of the extension function.  The type of the result is
              preserved where possible, otherwise it is  converted  to  a
              string value.

              Extension Elements


              Extension  elements  have  not  been implemented in TclXSLT
              v1.1.


       Using An Extension


       To invoke an extension in an XSL stylesheet, use the  normal  XSLT
       extension  mechanism.   The XML Namespace matches the extension to
       the registered Tcl namespace (NB. the stylesheet author is free to
       choose any prefix for the extension namespace).  For example,


       This  stylesheet  would  result  in the following Tcl script being
       evaluated:





Tcl Built-In Commands                                Tcl                                          TclXSLT(n)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.