Subject: Re: [xsl] Stylesheet parameters and packages? From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sun, 7 Jun 2020 21:55:45 -0000 |
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Stylesheet parameters and, David Birnbaum djbpi | Thread | Re: [xsl] Stylesheet parameters and, David Birnbaum djbpi |
Re: [xsl] Stylesheet parameters and, David Birnbaum djbpi | Date | Re: [xsl] Stylesheet parameters and, David Birnbaum djbpi |
Month |