[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Stylesheet parameters and packages?

Subject: Re: Stylesheet parameters and packages?
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 7 Jun 2020 21:55:45 -0000
Re:  Stylesheet parameters and packages?
I'm afraid asking for a "rule of thumb" is over-optimistic; as always, the
devil is in the detail.

For a $debug option you need to decide whether you want a static parameter or
a dynamic parameter (do you want users to be able to switch debugging on at
execution time, or must it be built-in at compile time?

Static parameters do have some limitations and there are some inconsistencies
in the spec: see https://github.com/w3c/qtspecs/issues/5.

Do you need to enable debugging at the package level, or is it a global
option?

If package A uses B and C, and if there's a $debug parameter in both B and C,
then I think you're going to get a conflict, because both are visible in A. I
think you can tackle that by having two parameters $debug-B and $debug-C with
different names, and have overriding xsl:variable's in A that setsthe value of
both to the value of parameter $debug-A.

But to be honest, there's not much practical experience yet of developing with
XSLT 3.0 packages; you're pioneering here and I hope you'll share your
experiences as a contribution to shared understanding.

Michael Kay
Saxonica

> On 7 Jun 2020, at 18:40, David Birnbaum djbpitt@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Dear xsl-list,
>
> Is there a rule of thumb for managing stylesheet parameters when using a
package hierarchy, that is, in situations where packages use other packages? I
would like to set a $debug parameter in all packages, both the lowest-level
collections of user-defined functions and the higher-level packages that
import those libraries, and that are then imported, themselves, by other
stylesheets. But as I fiddle with the options, either I am notified by the
mid-level package that a parameter has not been declared there (even though it
is declared in a lower-level package that I am using in the mid-level one, and
the XSLT 3.0 spec tells me that stylesheet parameters are obligatorily public)
or, when I declare the parameter in the mid-level package, that it conflicts
with the lower-level declaration. In case this is helpful, the point of the
$debug parameter is that I want to write diagnostic messages to stderr using
<xsl:message>  when the $debug parameter value is true, and I need to be able
to generate messages of this sort from both the low-level and mid-level
packages.
>
> Sincerely,
>
> David
> djbpitt@xxxxxxxxx <mailto:djbpitt@xxxxxxxxx>
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by
email <>)

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.