Library: XSLT support (OMXSLT)
Import : omxslt.xmd

Returns: A string sink connected to the XSLT processor.

export external string sink function 
   writer       with value     stylesheet  stylesheet
          parameters read-only stream      parameters optional
                into value     string sink xml-output


Argument definitions

is the XSLT stylesheet that will be applied to the input data,
is a shelf of parameters required by the stylesheet, and
is a destination to which the XSLT processor will write its data.


Use writer to apply an XSLT stylesheet to a well-formed XML instance that is generated by the execution of your OmniMark program. The result of the transformation is written to xml-output, from where further processing can be performed.


An XSLT stylesheet stored in a file stylesheet1.xsl can be applied to a well-formed XML instance stored in a file input1.xml using the following program. Before passing the data through the XSLT processor, the program uses pattern-matching to uppercase all element names in the input data. It is the output of the pattern matching engine is fed to the XSLT processor.

  import "omxslt.xmd" prefixed by xslt.
     local xslt.stylesheet stylesheet initial { xslt.compile file "stylesheet1.xsl" }
     using output as xslt.writer with stylesheet into file "input1.out"
        submit file "input1.xml"
  find ("</" | "<")  => start-marker 
        letter+      => element-name
        ("/>" | ">") => end-marker
     output start-marker || "ug" % element-name || end-marker

If the stylesheet is being applied only once, there is no need to declare a shelf of type stylesheet. OmniMark can convert a string representation of the stylesheet into the appropriate format. The above example can then be modified to read

     using output as xslt.writer with file "stylesheet1.xsl" into file "input1.out"
        submit file "input1.xml"

Other Library Functions