Re: [xsl] xbind:module == xsl:script + an essential layer of indirection

Subject: Re: [xsl] xbind:module == xsl:script + an essential layer of indirection
From: "Steve Muench" <Steve.Muench@xxxxxxxxxx>
Date: Fri, 2 Mar 2001 16:04:37 -0800
| | datemodule.xml 
| |
| | <xbind:module name="date-formatting-module-uri">
| |   <xbind:function name="format>
:
| | <xbind:implementation xbind="date-formatting-module-uri" laguage="java">
| |   <xbind:function name="format">
| |       <class src="java:com.example.datestuff.DateRoutines"/>
:
| | <xsl:stylesheet ...>
| |     <xsl:script prefix="date" xbind="date-formatting-module-uri" />

I don't understand how the "URI-to-ResourceContainingXBindModule"
binding takes place. How does the processor "hook up" with
its XBindModule definition? From where does it fetch it the
first time? Does it periodically ping for updates?

You're describing something that starts to sound a
lot like UDDI and WSDL, a kind of XML-based, CORBA-Broker-like
scheme with XML-based, CORBA-like IDL description. While I
agree that such a scheme offers more than xsl:script -- 
the "more is more" philosophy -- I personally don't think
this level of complexity is warranted [not speaking for WG or Oracle].
to invoke a simple string or date formatting routine that I write
for myself and might want to run on multiple processors.

I think the idea of making sure to clarify how a built-in 
implementation can be *prefered* over a supplied implementation 
gives the simplicity of <xsl:script> and addresses the concern
that "my processor knows best".

| > <xsl:stylesheet xmlns:foo="a-language-independent-uri-that-refers-to-functionality">
| >   <xsl:script implements-prefix="foo" language="x:XXX" src="uri"/>
| >   <xsl:script implements-prefix="foo" language="y:YYY" src="uri"/>
| > </xsl:stylesheet>

| > They both have "a-language-independent-uri-that-
| > refers-to-functionality". They both list multiple implementations
| > of that functionality.
| 
| Ok.  Perhaps I wasn't being clear. Substitute  
|   a-language-independent-uri-that-refers-to-fucntionality
| with 
|   a-globally-unique-language-independent-uri-that-refers-to
|   -functioality-and-may-possibly-even-be-used-as-an-rddl-url
| 
| Now this (the globally unqiue requirement) makes this 
| not anywhere near the same as implements-prefix since
| implements-prefix is local to a stylesheet.

This, I believe, is a red herring. URI's are URI's.
In both examples, the URI might be something typed in
by a developer on the spur of the moment... "urn:foobar"
or could be a well-thought-out, agree-upon, globally-unique
URI like http://someplace.org/xslt/extensions/foobar.

The prefix referenced by <xsl:script implements-prefix="foo">
would be assigned to this globally-unique namespace URI
at the top of the stylesheet or directly on the <xsl:script>
element itself, depending on the developer's preference.

I think that your saying that a hastily-selected, 
for-all-intents-and-purposes-temporary URI used 
with <xsl:script> is different from a responsibly-selected
URI used with the xbind. Which I agree with. However,
both can be used with responsibly-selected namespace URI's. 
______________________________________________________________
Steve Muench, Lead XML Evangelist & Consulting Product Manager
BC4J & XSQL Servlet Development Teams, Oracle Rep to XSL WG
Author "Building Oracle XML Applications", O'Reilly
http://www.oreilly.com/catalog/orxmlapp/



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread