[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] how to use xslt extension functions?
I have been using XSL for a month, and I am now trying to use XSLT, but I have a few (simple) question that have me stuck. 1) I am trying to use James Clark xslt processor and I keep getting the following error message: "implementation of extension namespace not available" below are my files (xml and xsl). What does this mean? I have tried lots of different things, but can not get around this. 2) According to the xt documentation the "this" pointer can be passed around, but how would this be done? I would expect something like: <xsl:call-templates name="connect"> <xsl:param name="db" expr="sqlxml:new()"/> <xsl:param name="db" expr="database"/> <xsl:param name="username" expr="user"/> <xsl:param name="pswd" expr="password"/> <!-- other stuff --> <xsl:call-templates name="insert"> -->what value do I use for the this parameter? <xsl:param name="db" expr="this"/> <xsl:param name="arg1" expr="arg1"/> <xsl:param name="arg2" expr="arg2"/> </xsl:call-template> </xsl:call-template> 3) For James clark nxml.xsl demo: <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0" xmlns="java:com.jclark.xsl.sax.NXMLOutputHandler" result-ns=""> <xsl:template match="/"> <nxml> <escape char="\">\\</escape> <data>&<>\</data> <control>&<>\</control> </nxml> </xsl:template> </xsl:stylesheet> What in the heck is this doing? Is it calling a java function NXMLOutputHandler.nxml ? What are the arguements? The escape has attributes, but the data has elements...? 4) Again in the xt documentation James says that extension functions can "return objects of arbitrary typs which can then be passed as arguements to other extension functions or stored in variables" How in the heck is this done? =============>file.xml <?xml version="1.0"?> <cis> <database>jdbc:odbc:riccardo_cis </database> <user>ems_user</user> <password>ems_user</password> <EMS_ID>12345 </EMS_ID> <PARTY> <PARTYID>2</PARTYID> <ADDR1>PO box 4569</ADDR1> <ADDR2></ADDR2> <POSTAL>30302</POSTAL> <CITY>Atlanta</CITY> <STATE>Georgia</STATE> </PARTY> </cis> =============>file.xsl <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0" > <xsl:template match="cis"> <cis> <xsl:call-template name="connect"> <xsl:param name="db" expr="database"/> <xsl:param name="username" expr="user"/> <xsl:param name="pswd" expr="password"/> </xsl:call-template> <xsl:for-each select="PARTY"> <!-- put this here to make sure we are processing the data --> <xsl:copy> <xsl:apply-templates /> </xsl:copy> </xsl:for-each> </cis> </xsl:template> <xsl:template name="connect"> <xsl:param-variable name="db"/> <xsl:param-variable name="username"/> <xsl:param-variable name="pswd"/> <xsl:value-of select="w:connect(string($db),string($username), string($pswd))" xmlns:w="file:///e:development/sqlxml/sqlxml" /> <!-- have also tried xmlns="java:sqlxml" --> </xsl:template> </xsl:stylesheet> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|