Subscribe to the XSL-List Blog in XML format
RSS 2.0
Atom 0.3

The XSL-LIST Blog

The XSL-List Blog's mission is to increase the level of XSL knowledge and usage in the software development community. It's a service by Mulberry Technologies, and the list is by far the most popular XSL development forum in the world — in fact, some of the inventors of XSL hang out there and respond to questions. Got a stylesheet emergency? Want to contribute to the XSL community? visit the XSL-List blog today!


Re: Can a template dynamically discover the parameters

Posted 6/24/2022 4:54:43 AM

Nice, Martin! I've learned something very useful, here. On Thu, Jun 23, 2022 at 7:11 PM Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > On 23.06.2022 18:22, Martin Honnen martin.honnen@xxxxxx wrote: > > Am 23.06.2022 um . . . Read full entry »


Re: [ANN] XPathle

Posted 6/22/2022 4:29:21 AM

Michael, Thanks for your kind words. I added a Share button that copies the score (and some more) to the clipboard. Today's challenge is a slightly modified version of a stylesheet that I posted in response to a problem that you submitted to this list in April, 2010. Have fun! Gerrit On 21. . . . Read full entry »


Re: [ANN] XPathle

Posted 6/21/2022 6:02:56 PM

Gerrit, This is an ingenious idea and a marvelous piece of XSLT and a great user interface as well. Everyone who was in Prague knows, why you could not win Demo Jam this year. Thanks, - Michael PS: I am still thinking about ways to brag about my successes, like the Wordle share button... -----O . . . Read full entry »


Re: [ANN] XPathle

Posted 6/20/2022 8:39:26 PM

On 20.06.2022 22:34, Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx wrote: At least it hurt me when I tried to copy some of the rendered "XML" to another tool want to apply XPath outside of xpathle. That's CHEATING !!!!11!!!!111!!!!!1! Yeah, sure, I tried to understand that attribute . . . Read full entry »


Re: [ANN] XPathle

Posted 6/20/2022 8:34:38 PM

On 20.06.2022 21:59, Martin Honnen martin.honnen@xxxxxx wrote: On 20.06.2022 21:49, Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx wrote: Those of you who've been to XML Prague already know it: My demojam contribution is a Wordle-inspired game, written -- of course -- in XSLT and running in the . . . Read full entry »


Re: [ANN] XPathle

Posted 6/20/2022 7:59:48 PM

On 20.06.2022 21:49, Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx wrote: Those of you who've been to XML Prague already know it: My demojam contribution is a Wordle-inspired game, written -- of course -- in XSLT and running in the browser using SaxonJS. https://gimsieke.github.io/xpathle/ The . . . Read full entry »


[ANN] XPathle

Posted 6/20/2022 7:49:24 PM

Those of you who've been to XML Prague already know it: My demojam contribution is a Wordle-inspired game, written -- of course -- in XSLT and running in the browser using SaxonJS. https://gimsieke.github.io/xpathle/ It's not just fun, but also educational. See for example the difference betwe . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/19/2022 2:13:03 PM

On 19/06/2022 11:31, Andrew Sales andrew@xxxxxxxxxxxxxxx wrote: But several people felt that <test/> meant "this element type is declared as EMPTY, so it can never have an end-tag" whereas <test></test> meant "this element is declared with potent . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/19/2022 10:30:41 AM

> But several people felt that > <test/> meant "this element type is declared as EMPTY, so it can never > have an end-tag" > whereas > <test></test> meant "this element is declared with potential content of > some kind, but for whatever reason on t . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/19/2022 12:40:13 AM

On Sat, 2022-06-18 at 20:04 +0000, Peter Flynn peter@xxxxxxxxxxx wrote: > > Yes, absolutely. However, web browsers sometimes fail to grok the > difference between (say) <hr/> and <hr></hr> and thus render them > differently, so when you output HTML or XHTML, it may mak . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/18/2022 8:03:38 PM

On 17/06/2022 15:09, Kerry, Richard richard.kerry@xxxxxxxx wrote: Surely <test/> is canonical, and <test></test> isnbt? My understanding is that we agreed they were identical in effect. But several people felt that <test/> meant "this element type is declared as EMPTY . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 9:10:24 PM

> Using this (admittedly simplified) theory of XML processing, though, the answer to bhow to get <duck></duck> instead of <duck/>b is > $ perl -pe 's,<([A-Za-z][A-Za-z0-9._-]+)/>,<$1></$1>,g;' < INPUT.xml > OUTPUT.xml > or similar. > And, li . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 6:47:11 PM

If you just need specific elements serialised this way rather than change them all you can give the element content that serialises to nothing, eg <xsl:stylesheet version="3.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform"> <xsl:character-map name = "emptyta . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 5:25:46 PM

MK> <test></test> is the canonical form. I've no idea why. Perhaps because it's simpler, in the sense that all elements are serialized the same way regardless of whether or not they are empty. (With no need for special rules about edge cases, like elements that are empty except for c . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 3:57:21 PM

> Surely <test/> is canonical, and <test></test> isnbt? > Or maybe I should look-up what canonical means in this context. > And I guess the next question would be bwhyb as all XML parsers are (or should be) happy with the single form, shouldnbt they. > https://www . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 2:18:44 PM

Richard, Indeed, ordinarily one would face this requirement when writing to a *non* XML syntax target, such as HTML or many other things that look like XML, but ain't. As to the question of canonical form(s) and synonymy, there is history, and maybe someone with fingers on the archives could refl . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 2:09:01 PM

Surely <test/> is canonical, and <test></test> isn't? Or maybe I should look-up what canonical means in this context. And I guess the next question would be "why" as all XML parsers are (or should be) happy with the single form, shouldn't they. Regards, Richard. From: . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 1:54:41 PM

Roger, One way is to see to it that the element has some kind of content <xsl:template match="text()"> <xsl:comment> burp </xsl:comment> <xsl:next-match/> </xsl:template> ... although I would call this kind of desperate and not always a "solution& . . . Read full entry »


Re: How to retain the end tag when outputting an empt

Posted 6/17/2022 1:31:16 PM

<xsl:output method="xhtml"/> Might work. On Fri, 17 Jun, 2022, 6:15 pm Roger L Costello costello@xxxxxxxxx, < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Thanks Martin. > > It doesn't seem to be working. > > I added this namespace declaration: xmlns:saxo . . . Read full entry »


Re: How to retain the end tag when outputting an empt

Posted 6/17/2022 1:16:02 PM

Am 17.06.2022 um 14:45 schrieb Roger L Costello costello@xxxxxxxxx: Thanks Martin. It doesn't seem to be working. I added this namespace declaration: xmlns:saxon="http://saxon.sf.net" I think the namespace ends with a slash, so that is missing And added the attribute: <xsl:outp . . . Read full entry »


Re: How to retain the end tag when outputting an empt

Posted 6/17/2022 12:45:34 PM

Thanks Martin. It doesn't seem to be working. I added this namespace declaration: xmlns:saxon="http://saxon.sf.net" And added the attribute: <xsl:output method="xml" saxon:canonical="yes" /> I am still getting <test/> I am using SAXON EE 10.1 Suggesti . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 12:34:29 PM

XOM can canonicalize as well: http://www.xom.nu/apidocs/nu/xom/canonical/Canonicalizer.html On Fri, Jun 17, 2022 at 2:24 PM Martin Honnen martin.honnen@xxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > Am 17.06.2022 um 14:15 schrieb Roger L Costello costello@xxxxxxxxx: & . . . Read full entry »


Re: How to retain the end tag when outputting an empty

Posted 6/17/2022 12:24:03 PM

Am 17.06.2022 um 14:15 schrieb Roger L Costello costello@xxxxxxxxx: Hi Folks, For this element: <test>foo</test> The following XSLT: <xsl:template match="*"> <xsl:element name="{name(.)}"> <xsl:apply-templates /> . . . Read full entry »


How to retain the end tag when outputting an empty el

Posted 6/17/2022 12:15:02 PM

Hi Folks, For this element: <test>foo</test> The following XSLT: <xsl:template match="*"> <xsl:element name="{name(.)}"> <xsl:apply-templates /> </xsl:element> </xsl:template> <xsl:template . . . Read full entry »


XSLT pattern-action paradigm ~ Flex pattern-action pa

Posted 6/17/2022 10:55:04 AM

Hi Folks, An XSLT template rule follows a pattern-action paradigm: when an XML item matches this pattern do this action. XSLT modes allow you to effectively create multiple XSLT programs within one stylesheet. Flex is a lexical analyzer tool, i.e., a tool that enables you to tokenize input data. . . . Read full entry »


Job Posting: Associate Systems Analyst

Posted 6/15/2022 2:29:36 PM

SAGE Publishing is Hiring! This is an opportunity to join a team of highly specialized systems analysts. Our key function is configuring and supporting content management systems to sustain an online publishing environment. We analyse requirements and improvement requests from business partners, co . . . Read full entry »


[ANN] Reminder: Balisage Late-breaking Submissions Due

Posted 6/14/2022 6:15:11 PM

Balisage: The Markup Conference 2022 links About the Conference: https://balisage.net/index.html <https://balisage.net/index.html> Preliminary Program (no late-breaking news yet): https://balisage.net/2022/Program.html <https://balisage.net/2022/Program.html> Call for Late-brea . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/14/2022 12:26:45 PM

On Tue, Jun 14, 2022 at 11:50:05AM -0000, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx scripsit: > Hi Graydon, Hello Chris -- > > Do we want to emulate a template entirely in a function or have a function that allows XPath to either call or apply templates? > > Def . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/14/2022 11:49:59 AM

Hi Graydon, > Do we want to emulate a template entirely in a function or have a function that allows XPath to either call or apply templates? Definitely the latter! - Chris . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/14/2022 11:40:18 AM

On Tue, Jun 14, 2022 at 04:03:21AM -0000, Dimitre Novatchev dnovatchev@xxxxxxxxx scripsit: > So, in the general case we will have not: > > > local:doesThing#3@userDefined > > but: > > local:doesThing#3@userDefined1@userDefined2...@userDefinedN I think that by analogy to . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/14/2022 11:27:09 AM

Le lun. 13 juin 2022 C 15:56, Michael Kay mike@xxxxxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> a C)crit : > An alternative design would be to use the mode name as the function name, > or to find some other way of statically associating a function with a > specific mode. > . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/14/2022 4:03:13 AM

> I am not sure the complexity is worth the convenience but it would certainly be nice to have sometimes. This certainly becomes inconvenient quickly, as a template may belong to a set of modes, not just to one: https://www.w3.org/TR/xslt-30/#using-modes So, in the general case we will have n . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/13/2022 3:23:52 PM

On Mon, Jun 13, 2022 at 01:55:39PM -0000, Michael Kay mike@xxxxxxxxxxxx scripsit: > I agree a functional equivalent to apply-templates would be useful. > > In trying to design it, the main stumbling block has been how to handle modes. We could make the mode-name a dynamically-defined QNam . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/13/2022 1:55:33 PM

I agree a functional equivalent to apply-templates would be useful. In trying to design it, the main stumbling block has been how to handle modes. We could make the mode-name a dynamically-defined QName argument, but that's then a new capability (dynamic modes) rather than a functional equivalent, . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/13/2022 1:32:39 PM

Hi Graydon, Dimitre, I have also wished for the ability to apply templates from XPath. I don't think it's so much about solving a problem that <xsl:apply-templates> can't; it's more a matter of convenience in some cases. A function wrapper around the template works, but it would be nice to m . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/12/2022 9:03:53 PM

On Sun, Jun 12, 2022 at 08:22:25PM -0000, Roger L Costello costello@xxxxxxxxx scripsit: [snip] > The tricky element is mapping each military airport to commercial airports, i.e., for each military airport create an <airport> element in the commercial instance document: > > <airpo . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/12/2022 8:41:17 PM

Hi Roger, The problem is still not well defined, ambiguous (maybe because the input and output vocabularies have similar or even overlapping terminology), and confusing. Will something like a function: my:applyTemplates($item-set-expression, $parameters-array) be useful? Thanks, Dimitr . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/12/2022 8:22:19 PM

Hi Dimitre, > Perhaps, if we have a more understandable and simple example, > we could understand what it exactly is that you need, and why > you need it in the first place? Okay, a bit more context to my question. I am mapping one XML vocabulary to another (a military air navigation st . . . Read full entry »


Re: XPath equivalent to xsl:apply-templates?

Posted 6/12/2022 7:18:50 PM

Hi Roger, > [As I recall Dimitre is working to show how every construct in XSLT can be represented in XPath. Okay, Dimitre, what's the XPath equivalent of xsl:apply-templates?] I don't remember ever making such a statement. ?!? And in my work it has never been raised as a problem to represen . . . Read full entry »


XPath equivalent to xsl:apply-templates?

Posted 6/12/2022 6:06:36 PM

Hi Folks, I have inserted XPath code into an XML document, e.g., <identifier>$ARPT_row/ICAO</identifier> I wrote some code that extracts the XPath code and generates an XSLT template: <xsl:template match="airports/airport/identifier"> <xsl:param nam . . . Read full entry »


Re: return type of a function returning namespaces?

Posted 6/9/2022 1:16:00 PM

Thanks Martin. Y'all (everyone here) are the best. - Chris . . . Read full entry »


Re: return type of a function returning namespaces?

Posted 6/9/2022 12:58:11 PM

On 09.06.2022 14:24, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx wrote: Is there a similar central reference for where the xs:<type> types (xs:string, xs:integer, etc.) are defined? https://www.w3.org/TR/xpath-functions-31/#atomic-type-hierarchy . . . Read full entry »


Re: return type of a function returning namespaces?

Posted 6/9/2022 12:24:28 PM

Thank you Michael! Is there a similar central reference for where the xs:<type> types (xs:string, xs:integer, etc.) are defined? I know these are RTFM questions, but I've made multiple honest efforts to locate this information, and I'm just not familiar enough with the terminology to find i . . . Read full entry »


Re: return type of a function returning namespaces?

Posted 6/9/2022 11:53:08 AM

On Thu, Jun 09, 2022 at 08:18:53AM -0000, Michael Kay mike@xxxxxxxxxxxx scripsit: > Use as="namespace-node()*" (at least in XPath 3.1, I haven't checked exactly when it was introduced). Thank you! Interestingly, that's not on oXygen's list of suggestions though (as of 24.1) it's acce . . . Read full entry »


Re: return type of a function returning namespaces?

Posted 6/9/2022 11:13:32 AM

https://www.w3.org/TR/xpath-3/#id-sequencetype-syntax Michael Kay Saxonica > On 9 Jun 2022, at 12:03, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Hi everyone, > > Is there a reference table somewhere that l . . . Read full entry »


[ANN] xspec-maven-plugin 2.1.4 is out !

Posted 6/9/2022 11:09:59 AM

After more than one year delay, xspec-maven-plugin is now out ! You can get it from Maven Central And it support XSpec 2.1.4. Being at XMLPrague force you to work for community ! Thanks to Matthieu Ricaud for Xut 0.1.2 release. Best regards, Christophe . . . Read full entry »


Re: return type of a function returning namespaces?

Posted 6/9/2022 11:03:28 AM

Hi everyone, Is there a reference table somewhere that lists all of the valid as="..." values? - Chris . . . Read full entry »


Re: return type of a function returning namespaces?

Posted 6/9/2022 8:18:48 AM

Use as="namespace-node()*" (at least in XPath 3.1, I haven't checked exactly when it was introduced). Michael Kay Saxonica > On 9 Jun 2022, at 04:31, Graydon graydon@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Hello! > > So as part of an incumbent . . . Read full entry »


Re: return type of a function returning namespaces?

Posted 6/9/2022 4:41:34 AM

Maybe just use: as="node()" This is still better than not declaring the return type of the function at all. Here is a contrived example of using such a function: <xsl:stylesheet version="2.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" xmlns:my=" . . . Read full entry »


return type of a function returning namespaces?

Posted 6/9/2022 3:31:16 AM

Hello! So as part of an incumbent process, it turns out that the namespaces all have to be declared on the document element or the downstream processing fails. That's not correct, but I can't fix the process, so I wrote the following to make sure all the required namespaces could be declared on t . . . Read full entry »


Re: Pattern-directed programming using XSLT

Posted 6/7/2022 12:08:19 PM

Wendell wrote: > in XSLT it's really not strings, but trees. Eek! Lex is a pattern-action language that operates on strings whereas XSLT is a pattern-action language that operates on trees. Good catch Wendell -- thanks! /Roger . . . Read full entry »


Re: Pattern-directed programming using XSLT

Posted 6/7/2022 11:40:29 AM

Roger, this is cool, but how would you respond to the argument that in XSLT it's really not strings, but trees? Strings are important partly because these are labelled trees, with all kinds of stuff hanging off them. But XSLT and XPath are all about working with trees and branches, are they not? . . . Read full entry »


Pattern-directed programming using XSLT

Posted 6/7/2022 10:57:15 AM

Hi Folks, Page 83 of the dragon compiler book [1] says: "The techniques used to implement lexical analyzers can also be applied to other areas such as query languages and information retrieval systems. In each application, the underlying problem is the specification and design of programs th . . . Read full entry »


[ANN] Balisage Late-breaking News proposals due 17 Jun

Posted 6/6/2022 5:00:00 PM

The peer-reviewed part of the Balisage 2022 program has been scheduled (https://www.balisage.net/2022/Program.html). As usual, some speaking slots were set aside for late-breaking news, updates, and fast-breaking stories. Proposals for late-breaking presentations at Balisage are due June 17th. Det . . . Read full entry »


Re: efficiently extracting a capture group from analy

Posted 6/4/2022 7:12:25 PM

On 04.06.2022 20:47, Martin Honnen martin.honnen@xxxxxx wrote: On 04.06.2022 17:30, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx wrote: I had to define B xmlns:fn=http://www.w3.org/2005/xpath-functions in my stylesheet for fn:group to match, and Ibm not sure if therebs a bett . . . Read full entry »


Re: efficiently extracting a capture group from analy

Posted 6/4/2022 6:47:12 PM

On 04.06.2022 17:30, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx wrote: > > I had to define > > B xmlns:fn=http://www.w3.org/2005/xpath-functions > > in my stylesheet for fn:group to match, and Ibm not sure if therebs a > better way to do that too. > I a . . . Read full entry »


Re: efficiently extracting a capture group from analy

Posted 6/4/2022 6:23:14 PM

Hi Dimitre, The filename aspect of my example proved to be a bit of a distraction. Regardless of the pattern, Ibm wondering what the easiest way is to obtain the capture group match from analyze-string() if it matches, or an empty set if not. But I think Ibve realized that it will never be conc . . . Read full entry »


Re: Re: efficiently extracting a capture group from a

Posted 6/4/2022 6:17:39 PM

U+1F44D! On 04.06.2022 19:50, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx wrote: Hi Gerrit, You avoided my ENTITY threat nicely. :) I think I'm going to put the analyze-string() stuff into a function and call it good: <xsl:function name="mine:get-match" a . . . Read full entry »


Re: efficiently extracting a capture group from analy

Posted 6/4/2022 6:14:09 PM

On Sat, Jun 4, 2022 at 8:29 AM Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Hi everyone! > > > > Given some filename string like > > > > <xsl:variable name="file" select="'path/ . . . Read full entry »


Re: Re: efficiently extracting a capture group from a

Posted 6/4/2022 5:58:46 PM

On Sat, Jun 04, 2022 at 05:22:16PM -0000, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx scripsit: > The tricky part is, I need an empty sequence if the input string does not > comply with pattern. [snip] > And although this example processes a filename, I'd like to find best . . . Read full entry »


Re: Re: efficiently extracting a capture group from a

Posted 6/4/2022 5:49:56 PM

Hi Gerrit, You avoided my ENTITY threat nicely. :) I think I'm going to put the analyze-string() stuff into a function and call it good: <xsl:function name="mine:get-match" as="xs:string?"> <xsl:param name="string" as="xs:string"/> &l . . . Read full entry »


Re: Re: efficiently extracting a capture group from a

Posted 6/4/2022 5:26:31 PM

You can put the matching pattern in a variable in order to avoid redundancy. The general solution using analyze-string() won't become any easier I'm afraid. You need to declare the fn namespace etc. On 04.06.2022 19:22, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx wrote: Hi Gerr . . . Read full entry »


Re: efficiently extracting a capture group from analy

Posted 6/4/2022 5:22:10 PM

Hi Gerrit, Graydon, Thanks for having a look! The tricky part is, I need an empty sequence if the input string does not comply with pattern. replace() returns the original string for a non-match. I could address that with a prefilter: replace($file[matches(., '/my-(\w+)\.xml$')], '^.+/my-(\w+) . . . Read full entry »


Re: efficiently extracting a capture group from analy

Posted 6/4/2022 4:33:19 PM

On Sat, Jun 04, 2022 at 12:22:49PM -0400, Graydon Saunders scripsit: > I would recommend against trying to do this with general application of > a single regular expression. and I still would, but now I've read your question a little slower and you want the bit after the dash but before the . . . Read full entry »


Re: efficiently extracting a capture group from analy

Posted 6/4/2022 4:23:04 PM

On Sat, Jun 04, 2022 at 03:30:03PM -0000, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx scripsit: > Hi everyone! > > Given some filename string like > > <xsl:variable name="file" select="'path/my-sometype.xml'"/> > > Ibd like to ex . . . Read full entry »


Re: efficiently extracting a capture group from analy

Posted 6/4/2022 4:12:56 PM

Why not use the classic XPath 2.0 replace function? replace($file, '^.+/my-(w+)\.xml$', '$1') On 04.06.2022 17:30, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx wrote: Hi everyone! Given some filename string like B <xsl:variable name="file" select="'path/my-s . . . Read full entry »


efficiently extracting a capture group from analyze-s

Posted 6/4/2022 3:29:54 PM

Hi everyone! Given some filename string like <xsl:variable name="file" select="'path/my-sometype.xml'"/> I'd like to extract the "my-(\w+)" part of the filename using analyze-string(). So far I have <xsl:variable name="my-file-type" select=&q . . . Read full entry »


Re: Modes?

Posted 6/4/2022 2:45:17 AM

Thanks to everyone for great suggestions! Michele Sent from Nine<http://www.9folders.com/> ________________________________ From: Michele R Combs Sent: Thursday, June 2, 2022 11:10 AM To: xsl-list Subject: Modes? Can anyone recommend a good beginner tutorial on modes? I've never used them . . . Read full entry »


Re: Modes?

Posted 6/3/2022 4:26:59 PM

A short set of nice (IMHO) slides on @mode by Martin Holmes: https://www.wwp.neu.edu/outreach/seminars/_current/presentations/xslt/mdh_x sl_modes_00.xhtml or https://www.wwp.neu.edu/outreach/seminars/_current/presentations/xslt/mdh_x sl_modes.pdf ________________________________ DAL> Gotta l . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/3/2022 1:19:21 AM

On Thu, Jun 02, 2022 at 05:53:12PM -0000, Michael Kay mike@xxxxxxxxxxxx scripsit: > > For 3, the right way is the same simple-small-thematic stages, but > > done with transform() calls so you have independent stylesheets for > > each step and stop having to worry about mode leakag . . . Read full entry »


Re: Modes?

Posted 6/2/2022 8:05:30 PM

Gotta love modes (I overuse them) And never forget how wonderfully Oxygen (to name just one editor) allows you to see in which mode(s) each template is. Not only useful for managing modes, but also a great error check if you mistype the name of a mode. --Debbie ================================= . . . Read full entry »


Re: Modes?

Posted 6/2/2022 7:59:15 PM

Hi Michelle, The 6-th module of my Pluralsight course on "XSLT 2.0 and 1.0 Foundations" ( https://app.pluralsight.com/library/courses/xslt-foundations-part1/table-of-contents) among other things also covers modes and has a demo of using modes in a transformation. HTH, Dimitre On Thu, J . . . Read full entry »


Re: Modes?

Posted 6/2/2022 7:45:40 PM

Hi Michele, I happily recommend David J. Birnbaum's tutorial on modal XSLT, which is how I learned it. It provides lots of helpful contextual explanation: http://dh.obdurodon.org/modal-xslt.xhtml Cheers, Elisa On Thu, Jun 2, 2022 at 2:10 PM Michele R Combs mrrothen@xxxxxxx < xsl-list-service@x . . . Read full entry »


Modes?

Posted 6/2/2022 6:10:18 PM

Can anyone recommend a good beginner tutorial on modes? I've never used them but think I'd like to learn how. Thanks Michele Sent from Nine<http://www.9folders.com/> . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 5:53:05 PM

> For 3, the right way is the same simple-small-thematic stages, but done > with transform() calls so you have independent stylesheets for each step > and stop having to worry about mode leakage. It is way too easy to > re-use a mode name over the course of a long project, and if it's . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 4:07:15 PM

On Thu, Jun 02, 2022 at 12:40:47PM -0000, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx scripsit: > That solved the problem and avoided problematic template interactions, but it made me feel defeated because I resorted to a linear way of solving the problem. Staged transformation . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 3:25:36 PM

Hi Roger, > Question: what techniques do you use to control the complexity of a large XSLT program? Answer: Use function libraries and Functional Programming. Through the years (since 2002) I have consistently used FXSL to solve many problems considered "not for XSLT" or "almos . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 3:11:23 PM

> That solved the problem and avoided problematic template interactions, but it made me feel defeated because I resorted to a linear way of solving the problem. > Pipelines are a great way to reduce complexity - doing multiple passes over the data, each pass doing one well-defined thing, is . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 3:01:03 PM

> 2. I make extensive use of ENTITIES. I have come to love ENTITIES! > They are super helpful -- way less errors -- to define a value in one > place and then use the value (via an ENTITY reference) in many places. Entities are awfully brittle. Youbll never be able to do any sort of trans . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 2:56:07 PM

> Question: what techniques do you use to control the complexity of a > large XSLT program? Make them shorter. Use a series of transformations, either in XSLT or via something like XProc, to reduce the size of each stylesheet. This makes testing easier too. . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 2:54:49 PM

"Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> writes: >> >> Question: what techniques do you use to control the complexity of a large XSLT program? >> > > Modes, primarily. Aligned with modules, so one module holds all the > rul . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 2:31:35 PM

On 02/06/2022 12:45, Roger L Costello costello@xxxxxxxxx wrote: Question: what techniques do you use to control the complexity of a large XSLT program? I've been shot down in flames for this on previous occasion, but sometimes there has developed a notion that you should ALWAYS use application of . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 2:17:15 PM

On Thu, 2 Jun 2022 at 12:45, Roger L Costello costello@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Hi Folks, > > I have an XSLT program with thousands of template rules. > > Ugh! > > It's too much complexity for my tiny brain. > > To help deal wit . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 2:05:37 PM

If you have 1000s of templates for a single process you are probably missing some way to generalize the processing and reduce the number of templates, either through the use of functions to encapsulate some business logic or through the use of named templates and/or modes as Mike Kay suggests. At a . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 1:11:24 PM

To manage large projects I use my own embedded stylesheet documentation methodology: https://cranesoftwrights.github.io/resources/#xslstyle ... and I don't check in fragments until there are no violations of my stylesheet writing rules (every template documented, every parameter documented, . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 12:40:41 PM

Hi Roger, Thousands!!? I get nervous when there's dozens of templates. :) Thanks for posting your favorite set of complexity-reducing tricks. I had one stylesheet where I needed to inline some elements with @idref references, then reorganize the resulting content. I tried doing everything in one . . . Read full entry »


Re: How to cope with the complexity of an XSLT program

Posted 6/2/2022 12:09:50 PM

> Question: what techniques do you use to control the complexity of a large XSLT program? > Modes, primarily. Aligned with modules, so one module holds all the rules for one mode. A technique I used in the Java-to-C# transpiler, which worked very nicely, was to have two levels of despatch: . . . Read full entry »


How to cope with the complexity of an XSLT program wit

Posted 6/2/2022 11:45:46 AM

Hi Folks, I have an XSLT program with thousands of template rules. Ugh! It's too much complexity for my tiny brain. To help deal with the complexity I have implemented the following: 1. I split up the template rules across a number of files. Less template rules in a file seems to reduce the st . . . Read full entry »


Re: Why aren't ENTITY declarations in a main styleshee

Posted 6/2/2022 11:27:53 AM

I've always thought it would be nice to have a mode of operation where the XML can contain entity references, but the expansions are supplied by the application using the parser API, rather than having to be present in the DTD. That would open up lots of interesting possibilities, like a version of . . . Read full entry »


Re: Why aren't ENTITY declarations in a main styleshee

Posted 6/2/2022 11:19:59 AM

> I thought that an xs:include is essentially a "macro substitution", in > which case the entity declaration should be visible, yes? Nope. The XPath data model doesnbt have entities in it, so the parser expands them away. (In principle, the parser doesnbt have to, but the result . . . Read full entry »


Re: Why aren't ENTITY declarations in a main styleshee

Posted 6/2/2022 11:19:04 AM

> I thought that an xs:include is essentially a "macro substitution", in which case the entity declaration should be visible, yes? > No, each stylesheet module is parsed independently using a standard XML parser. Entity expansion is done by the XML parser, which has no knowledge of . . . Read full entry »


Why aren't ENTITY declarations in a main stylesheet v

Posted 6/2/2022 10:51:31 AM

Hi Folks, I have a "main" stylesheet that declares a bunch of entities: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xsl:stylesheet [ <!ENTITY sidPROC "'2'"> <!ENTITY starPROC "'1'"> ... ]> <xsl:stylesheet xmlns:xsl= . . . Read full entry »


XSL-List Guidelines

Posted 6/1/2022 3:00:21 PM

This information is posted to the XSL-List (and the XSL-List Digest) at intervals under the subject line "XSL-List guidelines". INTRODUCTION TO XSL-LIST XSL-List hosts discussion of XSL itself, XSL applications and implementation, and XSL user questions. XSL-List is open to everyone, us . . . Read full entry »


Call for Presentations - Declarative Amsterdam 2022

Posted 6/1/2022 1:06:37 PM

Following the last three years' successful editions of Declarative Amsterdam, we are preparing a new edition to take place on 7 and 8 November 2022 at CWI, Science Park, Amsterdam. We anticipate by November that we will be able to hold the conference on-site, but we are planning to broadcast and i . . . Read full entry »


Re: Weird problem with doc()

Posted 5/30/2022 8:01:41 PM

That worked, thanks so much! I am overriding code that I don't know much about, but it is converting and merging XHTML, and indeed, at the top the stylesheet I'm overriding it has this attribute: xpath-default-namespace="http://www.w3.org/1999/xhtml" So I pulled down from my shelf the . . . Read full entry »


Re: Weird problem with doc()

Posted 5/30/2022 7:07:28 AM

> On 30 May 2022, at 08:02, Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > I suspected a namespace issue, too, but the ishobjects XML seems to be in no namespace, see for example https://www.oxygenxml.com/forum/post55006.html#p55 . . . Read full entry »


Re: Weird problem with doc()

Posted 5/30/2022 7:02:32 AM

I suspected a namespace issue, too, but the ishobjects XML seems to be in no namespace, see for example https://www.oxygenxml.com/forum/post55006.html#p55006 On 30.05.2022 08:52, Michael Kay mike@xxxxxxxxxxxx wrote: The XPath is correct because I can run this exact code outside of the DITA Open . . . Read full entry »


Re: Weird problem with doc()

Posted 5/30/2022 6:52:34 AM

> The XPath is correct because I can run this exact code outside of the DITA Open Toolkit and it works as expected. That's not a safe inference, because XPath is context-dependent. For example, it depends on the namespace context. I would check carefully for namespace dependencies. But there ar . . . Read full entry »


Re: Weird problem with doc()

Posted 5/30/2022 6:11:12 AM

Thanks Graydon, The external file looks like this, some ishfields have content, some don't. FTITLE does have a string value. B B B B Mini test pub B B B B B B B B B 1 etc. This code works fine outside of the DITA OT. I tried xsl:sequence instead of xsl:value-of and it has the same weird . . . Read full entry »


Re: Weird problem with doc()

Posted 5/30/2022 3:19:23 AM

On Mon, May 30, 2022 at 03:01:11AM -0000, Mark Giffin m1879@xxxxxxxxxxxxx scripsit: > Using XSLT 2.0, I'm using doc() to access data in an outside XML file. > This is running inside the DITA Open Toolkit, which is an Apache Ant > application. doc() accesses the whole file and displays the . . . Read full entry »


Weird problem with doc()

Posted 5/30/2022 3:01:04 AM

Using XSLT 2.0, I'm using doc() to access data in an outside XML file. This is running inside the DITA Open Toolkit, which is an Apache Ant application. doc() accesses the whole file and displays the text content of elements when I do this: OUTSIDE FILE - This is expected. But when I add some XPa . . . Read full entry »


Re: How to count the distinct values where elements wi

Posted 5/28/2022 1:43:53 AM

Hi Wendell, > <xsl:for-each-group select="/test/row" group-by="transition"> > <xsl:sequence select="count(current-group())"/> > </xsl:for-each-group> Roger was asking for XPath code, not for XSLT. On Fri, May 27, 2022 at 11:09 AM Wendel . . . Read full entry »


Re: How to count the distinct values where elements wi

Posted 5/27/2022 9:10:12 PM

One correction: let $test := /test/row return count(distinct-values($test/transition)) +xs:integer(exists($test[not(transition)])) On Fri, May 27, 2022 at 8:09 AM Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote: > > Use count(distinct-values(/test/row/string(transition))) > & . . . Read full entry »


Re: How to count the distinct values where elements wi

Posted 5/27/2022 8:24:31 PM

> Actually, that's not equivalent. My solution (using string()) treats an empty transition element and an absent transition element as equivalent; DImitre's solution treats them as distinct. This is clearly what Roger (the OP) wanted. He wrote: > I want a count of the number of distinct tr . . . Read full entry »


Re: How to count the distinct values where elements wi

Posted 5/27/2022 6:09:04 PM

Hi, Another question is whether one assumes that row elements with no transition should be counted together as a single value, or separately as distinct values (because undefined). The original spec I think may have been ambiguous as to this question. ("I want a count of the number of distin . . . Read full entry »


Re: How to count the distinct values where elements wi

Posted 5/27/2022 4:05:19 PM

> > Use count(distinct-values(/test/row/string(transition))) > > I would use the more obvious and self-explanatory: > > let $test := /test/row > return > count(distinct-values($test/transition)) + 1[$test[not(transition)]] > Actually, that's not equivalent. My sol . . . Read full entry »


Re: How to count the distinct values where elements wi

Posted 5/27/2022 3:09:45 PM

> Use count(distinct-values(/test/row/string(transition))) I would use the more obvious and self-explanatory: let $test := /test/row return count(distinct-values($test/transition)) + 1[$test[not(transition)]] If this XPath evaluation is initiated from an XSLT transformation and XSLT 1. . . . Read full entry »


Re: Not able to render XML in Chrome browser

Posted 5/27/2022 1:22:24 PM

Not sure how or why you need the browser to render XML, so this may not help, but I had this same issue a few months ago b I needed to render using the browser for a class I was teaching on EAD and didnbt want to mess about with browser security b and David Carlisle provided me with this very co . . . Read full entry »


Re: Not able to render XML in Chrome browser

Posted 5/27/2022 12:18:04 PM

Re: stopping honoring CSS, well, depending on your CSP, yes, browser have stopped honoring (inline) CSS. Oh boy, browsers these days... -Ed From: Wendell Piez wapiez@xxxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Sent: Friday, May 27, 2022 7:43 AM To: xsl-list@xxxxxxxxxxxxxxxxxx . . . Read full entry »


Re: Not able to render XML in Chrome browser

Posted 5/27/2022 11:42:57 AM

Hi, Don't forget, to go to the effort of circumventing the restrictions on the browser imposes its own kind of overhead, to say nothing of risks. (Which, like most risks, may or may not be risks for you.) I also agree with Norm that running a server these days is not actually so hard; moreover th . . . Read full entry »


Re: Not able to render XML in Chrome browser

Posted 5/27/2022 9:31:59 AM

Am 27.05.2022 um 06:19 schrieb Joga Singh Rawat jrawat@xxxxxxxxxxxxxx: > > I have checked with F12/ developer console, it is showing security > warning. But it is working fine with other Browser except Chrome. > Well, unless you share details about the way you load the XML (over the fil . . . Read full entry »


Re: Not able to render XML in Chrome browser

Posted 5/27/2022 9:06:01 AM

"Joga Singh Rawat jrawat@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> writes: > I have checked with F12/ developer console, it is showing security > warning. But it is working fine with other Browser except Chrome. Different browsers have different levels of secu . . . Read full entry »


Re: How to count the distinct values where elements wi

Posted 5/27/2022 5:27:33 AM

Hi Roger, How about below mentioned solution, for your requirements. XML document : provided XML document XSLT stylesheet, <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0"> <xsl:output method="text&q . . . Read full entry »


Re: Not able to render XML in Chrome browser

Posted 5/27/2022 4:19:06 AM

I have checked with F12/ developer console, it is showing security warning. But it is working fine with other Browser except Chrome. From: Martin Honnen martin.honnen@xxxxxx [mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx] Sent: 26 May 2022 21:20 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: . . . Read full entry »


Re: Not able to render XML in Chrome browser

Posted 5/26/2022 3:49:40 PM

Am 26.05.2022 um 17:14 schrieb Joga Singh Rawat jrawat@xxxxxxxxxxxxxx: > > > I am not able to render XML directly in Chrome. At the same time it is > working fine with IE, Edge and Firefox. > What does "directly" mean exactly, are you loading the file over HTTP(S) or from t . . . Read full entry »


Re: Not able to render XML in Chrome browser

Posted 5/26/2022 3:46:55 PM

On 26/05/2022 16:14, Joga Singh Rawat jrawat@xxxxxxxxxxxxxx wrote: Hi, I am not able to render XML directly in Chrome. At the same time it is working fine with IE, Edge and Firefox. Yes, I believe that is correct. Peter . . . Read full entry »


Not able to render XML in Chrome browser

Posted 5/26/2022 3:14:25 PM

Hi, I am not able to render XML directly in Chrome. At the same time it is working fine with IE, Edge and Firefox. a.xml <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="myxsl.xsl"?> <doc> . </doc> . . . Read full entry »


Re: How to count the distinct values where elements wi

Posted 5/26/2022 2:33:21 PM

Use count(distinct-values(/test/row/string(transition))) string() applied to an empty sequence returns the zero-length string, whereas atomization applied to an empty sequence returns an empty sequence. Michael Kay Saxonica > On 26 May 2022, at 15:08, Roger L Costello costello@xxxxxxxxx <x . . . Read full entry »


How to count the distinct values where elements with

Posted 5/26/2022 2:08:36 PM

Hi Folks, The following XML document has two row elements with no transition element and two row elements with a transition element : <test> <row> </row> <row> </row> <row> <transition>ABC</transition> </row> . . . Read full entry »


[ANN] Balisage 2022 Program Now Available

Posted 5/25/2022 4:33:11 PM

Balisage: The Markup Conference 2022 Program Now Available https://www.balisage.net/2022/Program.html Balisage, where serious markup practitioners and theoreticians meet every summer, announces the availability of the 2022 Preliminary Program. The 2022 program includes papers that discuss: b&quo . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 9:13:39 PM

Just to add another option: If you are using Saxon on the command line, you can supply (overriding) serialization parameters ad hoc on the command line with an exclamation mark prepended, like !indent=yes (on a Windows shell, you need to quote it as "!indent=yes", on a Bash shell, you . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 8:52:19 PM

Indeed it is ... but what if already you had written a template for the root node? Using <xsl:apply-templates/> as you have above would push the children of the root node and your previously-written template for the root node never would be triggered. I understand now. Indeed, I already ha . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 8:31:14 PM

At 2022-05-23 20:17 +0000, Wolfhart Totschnig wolfhart.totschnig@xxxxxxxxxxx wrote: Thank you very much, Ken, Martin, and Graydon! Martin's solution seems the simplest. I found that it can be shortened to the following: <xsl:output method="xml" indent="no"/> <xsl . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 8:16:32 PM

Thank you very much, Ken, Martin, and Graydon! Martin's solution seems the simplest. I found that it can be shortened to the following: B B <xsl:output method="xml" indent="no"/> B B <xsl:template match="/"> B B B B B <xsl:apply-templates/> . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 7:29:21 PM

On 23.05.2022 21:07, G. Ken Holman g.ken.holman@xxxxxxxxx wrote: Martin, I would suggest a slight change to your code: B <xsl:next-match/> ... rather than: B <xsl:apply-templates/> ... and when the heavy-lifting code is not being imported, then put a priority="1000" on t . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 7:07:39 PM

Martin, I would suggest a slight change to your code: <xsl:next-match/> ... rather than: <xsl:apply-templates/> ... and when the heavy-lifting code is not being imported, then put a priority="1000" on the suggested match. That will allow Wolfhart's stylesheet also to . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 7:01:21 PM

On Mon, May 23, 2022 at 06:39:30PM -0000, Wolfhart Totschnig wolfhart.totschnig@xxxxxxxxxxx scripsit: > I have an XSL stylesheet that produces a large XML document. I would like to > output the XML document twice, once indented (for human readability) and > once not indented (for faster ac . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 6:49:37 PM

On 23.05.2022 20:39, Wolfhart Totschnig wolfhart.totschnig@xxxxxxxxxxx wrote: Dear list, I have an XSL stylesheet that produces a large XML document. I would like to output the XML document twice, once indented (for human readability) and once not indented (for faster access by other scripts). I a . . . Read full entry »


Re: output the result of the transformation twice, in

Posted 5/23/2022 6:45:54 PM

You could treat the heavy-lifting non-indented stylesheet as an imported fragment to an onion skin stylesheet that turns on the indentation. working.xsl: <xsl:stylesheet...> <xsl:output indent="no"/> ...heavy lifting... </xsl:stylesheet> indented.xsl: <xsl:styl . . . Read full entry »


output the result of the transformation twice, indente

Posted 5/23/2022 6:39:23 PM

Dear list, I have an XSL stylesheet that produces a large XML document. I would like to output the XML document twice, once indented (for human readability) and once not indented (for faster access by other scripts). I am wondering whether this can be done from within a single stylesheet. In o . . . Read full entry »


Re: the "~" operator (was Re: Add id to next element)

Posted 5/23/2022 1:40:58 PM

On 23/05/2022 12:08, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx wrote: <body> <p/> <p outputclass="foo bar"/> <p outputclass="foo BAZ"/> </body> <xsl:template match="p"> <xsl:copy> <xs . . . Read full entry »


Re: the "~" operator (was Re: Add id to next element)

Posted 5/23/2022 11:08:43 AM

Hi everyone, I found another case where the ~ operator might have been useful. In the following XML: ==== <body> <p/> <p outputclass="foo bar"/> <p outputclass="foo BAZ"/> </body> ==== I want to add "BAZ" to p/@outputclass, witho . . . Read full entry »


Re: Add id to next element

Posted 5/20/2022 3:52:01 AM

On Fri, May 20, 2022 at 9:12 AM Kevin Brown kevin.brown@xxxxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Unless you need other things in the match of section (and not a straight copy). > And assuming you are not processing data that would have: > > <target r . . . Read full entry »


Re: Add id to next element

Posted 5/20/2022 3:46:03 AM

Or worse this: <target refid="foo"/> <section>....</section> <section>....</section> <section>....</section> <target refid="bar"/> <section>....</section> <section>....</section> Translation ... I really t . . . Read full entry »


Re: Add id to next element

Posted 5/20/2022 3:42:14 AM

Unless you need other things in the match of section (and not a straight copy). And assuming you are not processing data that would have: <target refid="foo"/> <section>....</section> <target refid="bar"/> <section>....</section> Then I am n . . . Read full entry »


Re: the "~" operator (was Re: Add id to next element)

Posted 5/20/2022 3:27:15 AM

On Fri, May 20, 2022 at 03:03:32AM -0000, Liam R. E. Quin liam@xxxxxxxxxxxxxxxx scripsit: > On Fri, 2022-05-20 at 02:05 +0000, Graydon graydon@xxxxxxxxx wrote: > > I'm not sure I want that ~ operator MORE than I want to be able to > > stuff XPath expressions into macros, > In XSLT . . . Read full entry »


Re: Add id to next element

Posted 5/20/2022 3:18:01 AM

On Fri, May 20, 2022 at 12:18 AM Graydon graydon@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > What's wrong with > > <xsl:template match="section"> > <xsl:copy> > <xsl:apply-templates select="@*" mode="#current . . . Read full entry »


Re: Add id to next element

Posted 5/20/2022 3:12:43 AM

Thank you for the many suggestions! I like the solution that process <target> in a mode. I will adapt it to the actual XML that I am processing.. Regards, Raghavendra. On Thu, May 19, 2022 at 11:24 PM Eliot Kimber eliot.kimber@xxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> . . . Read full entry »


Re: Add id to next element

Posted 5/20/2022 3:08:13 AM

Thank you for the solution! I see that I was looking the wrong way. Instead of looking forward from <target> to <section>, I should have looked backward at <target> from <section>. I have modified your code to suit the actual XML I am transforming, and it works perfectly. . . . Read full entry »


Re: the "~" operator (was Re: Add id to next element)

Posted 5/20/2022 3:03:27 AM

On Fri, 2022-05-20 at 02:05 +0000, Graydon graydon@xxxxxxxxx wrote: > > I'm not sure I want that ~ operator MORE than I want to be able to > stuff > XPath expressions into macros, In XSLT you can already write, <!DOCTYPE xsl:stylesheet [ <!ENTITY pattern " '\d{2,5}' " . . . Read full entry »


Re: the "~" operator (was Re: Add id to next element)

Posted 5/20/2022 2:18:07 AM

> I'm not sure I want that ~ operator MORE than I want to be able to stuff XPath expressions into macros, but if there are votes, I would vote in favour of it. Ahh yes, while we're casting imaginary votes, I want that macro feature too. :) It is the feature I didn't know I wanted back when I a . . . Read full entry »


Re: the "~" operator (was Re: Add id to next element)

Posted 5/20/2022 2:04:53 AM

On Fri, May 20, 2022 at 01:45:18AM -0000, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx scripsit: > Regarding > > > I normally use (expr1, expr2)[1] as an if-then-else for expressions evaluating to 0 or 1 node, but that arrow syntax is pretty neat. I should start using i . . . Read full entry »


Re: Add id to next element

Posted 5/20/2022 1:52:22 AM

On Fri, May 20, 2022 at 01:34:41AM -0000, Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx scripsit: > Hi Graydon, Hello! > > What's wrong with > > > > <xsl:template match="section"> > > <xsl:copy> > > <xsl:apply-templ . . . Read full entry »


the "~" operator (was Re: Add id to next element)

Posted 5/20/2022 1:45:12 AM

Regarding > I normally use (expr1, expr2)[1] as an if-then-else for expressions evaluating to 0 or 1 node, but that arrow syntax is pretty neat. I should start using it. While researching the arrow operator, I came across Michael Kay's blog post at https://dev.saxonica.com/blog/mike/2020/11/1 . . . Read full entry »


Re: Add id to next element

Posted 5/20/2022 1:34:35 AM

Hi Graydon, > What's wrong with > > <xsl:template match="section"> > <xsl:copy> > <xsl:apply-templates select="@*" mode="#current" /> > <xsl:attribute name="id" > select="(preceding-sibling::*[1][self . . . Read full entry »


Re: Add id to next element

Posted 5/19/2022 10:03:12 PM

Nothing wrong with that formulationbI guess I have enough XSLT 2 brain damage that I forget about being able to select the head of a possibly multi-item sequence as a shortcut for the if/then/else I wrote p I spend a lot of time (or have spent) correcting older XSLT code to use exactly that fo . . . Read full entry »


Re: Add id to next element

Posted 5/19/2022 6:47:49 PM

On Thu, May 19, 2022 at 05:53:58PM -0000, Eliot Kimber eliot.kimber@xxxxxxxxxxxxxx scripsit: > The typical way to do it is to have the processing of the section element get > the value from the preceding target element: > > <xsl:template match="section"> > <x . . . Read full entry »


Re: Add id to next element

Posted 5/19/2022 5:53:52 PM

The typical way to do it is to have the processing of the section element get the value from the preceding target element: <xsl:template match="section"> <xsl:variable name="id" as="xs:string?" select="preceding-sibling::target[1]/@refid&quo . . . Read full entry »


Re: Add id to next element

Posted 5/19/2022 5:50:49 PM

You don't do it while processing the target element, you do it while processing the section element <xsl:template match="section"> <xsl:copy> <xsl:attribute name="id" select="preceding-sibling::target/@refid"/> </xsl:copy> </xsl:temp . . . Read full entry »


Add id to next element

Posted 5/19/2022 5:18:42 PM

I am trying to write an XSLT stylesheet to transform an XML document (that was generated by Python Docutils) to HTML5. Here is a fragment from the source document: <target refid="foo"/> <section> The <target> element specifies an identifier for the next element, i.e., . . . Read full entry »


Re: Why can a template rule match on a child of multi

Posted 5/19/2022 3:00:56 PM

> I think oXygen allows you to run Saxon 10, at least as a plugin. Oxygen 24.1 uses Saxon 10.6, if that's an option. - Chris . . . Read full entry »


Re: Why can a template rule match on a child of multi

Posted 5/19/2022 2:34:29 PM

Am 19.05.2022 um 16:29 schrieb Roger L Costello costello@xxxxxxxxx: Thank you Michael, Martin, Chris, and Norm. I am running my version 3.0 XSLT program from Oxygen which is running Saxon-PE 9.9.1.7 For this template rule: <xsl:template match="sid/(sidRunwayTransition|sidCommonRoute|sidEn . . . Read full entry »


Re: Why can a template rule match on a child of multi

Posted 5/19/2022 2:29:25 PM

Thank you Michael, Martin, Chris, and Norm. I am running my version 3.0 XSLT program from Oxygen which is running Saxon-PE 9.9.1.7 For this template rule: <xsl:template match="sid/(sidRunwayTransition|sidCommonRoute|sidEnrouteTransition)"> I get this error message: Cannot conve . . . Read full entry »


Re: Why can a template rule match on a child of multip

Posted 5/19/2022 2:02:16 PM

XPath 1.0 expressions (and therefore XSLT 1.0 patterns) only allow a RelativeLocationPath on the RHS of the "/" operator. A RelativeLocationPath is essentially a sequence of one or more Steps separated by "/", and a Step (unless abbreviated) takes the form AxisSpecifier NodeTest . . . Read full entry »


Re: Why can a template rule match on a child of multip

Posted 5/19/2022 1:44:49 PM

Am 19.05.2022 um 15:39 schrieb Martin Honnen martin.honnen@xxxxxx: Am 19.05.2022 um 15:22 schrieb Roger L Costello costello@xxxxxxxxx: But I cannot have a template rule like this: <xsl:template match="sid/(sidRunwayTransition|sidCommonRoute|sidEnrouteTransition)"> I think in XSLT 3 . . . Read full entry »


Re: Why can a template rule match on a child of multip

Posted 5/19/2022 1:39:18 PM

Am 19.05.2022 um 15:22 schrieb Roger L Costello costello@xxxxxxxxx: But I cannot have a template rule like this: <xsl:template match="sid/(sidRunwayTransition|sidCommonRoute|sidEnrouteTransition)"> I think in XSLT 3 it is certainly an allowed pattern. Not allowed in XSLT 1. Would . . . Read full entry »


Re: Why can a template rule match on a child of multip

Posted 5/19/2022 1:36:01 PM

Hi Roger, > Why can I have a template rule like this: > > <xsl:template match="(sidRunwayTransition|sidCommonRoute|sidEnrouteTransition)/supplemental Data"> > > But I cannot have a template rule like this: > > <xsl:template match="sid/(sidRunwayTransiti . . . Read full entry »


Re: Why can a template rule match on a child of multip

Posted 5/19/2022 1:29:23 PM

> Why can I have a template rule like this: > > <xsl:template match="(sidRunwayTransition|sidCommonRoute|sidEnrouteTransition)/supplemental Data"> > > But I cannot have a template rule like this: > > <xsl:template > match="sid/(sidRunwayTransition|sid . . . Read full entry »


Why can a template rule match on a child of multiple

Posted 5/19/2022 1:22:18 PM

Hi Folks, Why can I have a template rule like this: <xsl:template match="(sidRunwayTransition|sidCommonRoute|sidEnrouteTransition)/supplemental Data"> But I cannot have a template rule like this: <xsl:template match="sid/(sidRunwayTransition|sidCommonRoute|sidEnrouteTran . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/10/2022 8:36:19 PM

On 09/05/2022 16:07, Wendell Piez wapiez@xxxxxxxxxxxxxxx wrote: This is awesome! Excellent that you are maintaining this. My pleasure :-) I like the language fine except there is one thing to add, [...] I'd like to quote that if I may. ============================================================= . . . Read full entry »


Re: Are XPath expressions parsed using compiler parsi

Posted 5/10/2022 3:10:01 PM

Hi Dr. Kay and Roger, > XPath (and even more so XQuery) has a lot of ad-hoc rules for resolving ambiguities, for example the rule that in the expression > (/ or /*) > , "or" parses as an element name, not as a binary operator > (I don't think this ambiguity was even discove . . . Read full entry »


Re: Are XPath expressions parsed using compiler parsin

Posted 5/10/2022 10:07:17 AM

On 08/05/2022 22:20, Roger L Costello costello@xxxxxxxxx wrote: An XPath expression is a query. Not against a database, but against an XML document. Are XPath expressions parsed using compiler parsing algorithms? Is a syntax tree constructed for an XPath expression? Is the syntax tree traversed? In . . . Read full entry »


Re: Are XPath expressions parsed using compiler parsin

Posted 5/10/2022 9:04:24 AM

Hi Roger, Due to the complexity they are typically parsed using one of the traditional compiler parsing algorithms, either through a manually coded parser such as the ones in Saxon and the experimental parser for FusionDB, or through a parser compiler compiler toolkit such as Antlr, Yacc, etc. I . . . Read full entry »


Re: Are XPath expressions parsed using compiler parsi

Posted 5/10/2022 5:59:19 AM

Hi Roger, The second version of Fleur, my own XQuery engine written in Javascript, is also including its own handwritten parser. This one is a Javascript port from the XSLT stylesheet of old XSLTForms versions which parsed XPath expressions into Javascript instructions. It can be tricky for a home . . . Read full entry »


Re: Are XPath expressions parsed using compiler parsi

Posted 5/9/2022 10:42:43 PM

The XPath parser used in Saxon is a hand-written hybrid of a recursive-descent parser and a precedence parser. The very first version was actually derived from James Clark's xt parser, and over the years it evolved out of all recognition, but without ever being redesigned from scratch. I have no i . . . Read full entry »


Re: Are XPath expressions parsed using compiler parsi

Posted 5/9/2022 8:35:32 PM

Roger wrote: >> Are XPath expressions parsed using >> compiler parsing algorithms? Michael Kay responded: > Yes, of course Hi Michael, does that mean each time Saxon encounters a place in an XSLT program where an XPath expression is expected, Saxon sends the expression into an XP . . . Read full entry »


Re: How to sort based on the number of child elements?

Posted 5/9/2022 5:58:20 PM

> I cannot use xsl:sort for this, right? Why not? See my reply using <xsl:sort> to solve the problem. On Mon, May 9, 2022 at 10:31 AM Roger L Costello costello@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Hi Folks, > > I have an XML Schema that contains . . . Read full entry »


Re: How to sort based on the number of child elements?

Posted 5/9/2022 5:56:52 PM

why can't you use xsl:sort? <xs:choice xmlns:xs="data:,whatever"> <xs:element name="MilitaryDayTime"> <xs:complexType> <xs:sequence> <xs:element name="Day" type="xs:string"/> . . . Read full entry »


Re: How to sort based on the number of child elements?

Posted 5/9/2022 5:55:46 PM

This transformation: <xsl:stylesheet version="1.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:template match="no . . . Read full entry »


How to sort based on the number of child elements?

Posted 5/9/2022 5:31:40 PM

Hi Folks, I have an XML Schema that contains a xs:choice. I want to sort the branches of the choice, in longest-to-shortest order. Here is a xs:choice with two branches: <xs:choice> <xs:element name="MilitaryDayTime"> <xs:complexType> <xs:se . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/9/2022 3:32:19 PM

Hi Wendell, Sorry, I totally missed the "house-rule" phrase, as it seemed buried further down the text of your message. Yes, within a company / organisation, they could adopt whatever house rules they choose. As far as these remain closed intin the organisation. Thanks, Dimitre On Mo . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/9/2022 3:07:17 PM

Peter, This is awesome! Excellent that you are maintaining this. I like the language fine except there is one thing to add, that schema validation including DTD validation may provide for whitespace normalization on attributes (and in XSD, text content!), or at any rate specify it in such a way t . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/9/2022 2:57:34 PM

Hey Dimitre, A bit confused - were you (not) taking me to suggest I thought the rules should be changed, or that I was proposing Syd adapt to the rules -- and the (faulty) implementations -- as they currently are? My "house style" suggestion is along the lines of adapting to both the cu . . . Read full entry »


Re: Are XPath expressions parsed using compiler parsin

Posted 5/8/2022 11:10:27 PM

> > Are XPath expressions parsed using compiler parsing algorithms? > Yes, of course, how else would you do it? If you want to know more, I'm hoping to have a paper on the subject at XML Prague next month. But if you're interested in this kind of thing, there's a fair bit in my blog ov . . . Read full entry »


Re: Are XPath expressions parsed using compiler parsin

Posted 5/8/2022 10:00:42 PM

Hi Roger, > An XPath expression is a query. Not against a database, but against an XML document. > Are XPath expressions parsed using compiler parsing algorithms? Even if a query is "interpreted", it is still initially compiled into some internal form. The answers to the remainin . . . Read full entry »


Are XPath expressions parsed using compiler parsing t

Posted 5/8/2022 9:19:51 PM

Hi Folks, I dug out my old compiler "Dragon book" and started rereading it. Chapter 1 lists some of the tools that employ compiler techniques. This one caught my attention: Query interpreters: A query interpreter translates a predicate containing relational and boolean operators into c . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/8/2022 8:52:54 PM

On 08/05/2022 19:21, Wendell Piez wapiez@xxxxxxxxxxxxxxx wrote: [...] However, having rules about the use and "significance" of whitespace within markup (indeed within differentiated forms of markup) is so normal as to be a perennial FAQ. Oddly, it's never been tagged as one, perhaps pr . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/8/2022 7:22:13 PM

> > Do we want the behavior of almost all current XML processing tools to suddenly become "incompliant"? > > > > Wendell is proposing an application-level house style for use of processing instructions, a rule for the next level up the protocol stack, which is perfectl . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/8/2022 7:02:19 PM

> Do we want the behavior of almost all current XML processing tools to suddenly become "incompliant"? > Wendell is proposing an application-level house style for use of processing instructions, a rule for the next level up the protocol stack, which is perfectly legitimate. In fac . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/8/2022 6:49:46 PM

> Dimitre, how so? Wendell, Do we want the behavior of almost all current XML processing tools to suddenly become "incompliant"? I certainly don't care one way or the other, as I have no code invested in using PI's values, but maybe other people's existing tools/suites would have to . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/8/2022 6:20:46 PM

Dimitre, how so? Just because current tools preserve whitespace (in PIs) is no reason you can't have a rule that says it should not always be assumed to be persistent, within your data set or processing scope. There are actually places where this kind of thing matters. For example, I would not wa . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/8/2022 4:56:45 PM

> Maybe the solution here is to introduce a new house rule, namely whitespace in PIs is never semantically significant, > at least without further specification of the PI or family of PIs, and hence is fair game for reducing or rewriting. This will violate the current rules, which eliminate . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/8/2022 1:46:55 PM

Hey Syd and XSL-List, "The client may not even notice that all of her PIs have lost a leading space after her files are 'fixed' ..." indeed! Maybe the solution here is to introduce a new house rule, namely whitespace in PIs is never semantically significant, at least without further spe . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/8/2022 7:58:54 AM

Thanks for the thoughts, Dimitre. Could also use some other character (like b (U+2420) or b$ (U+2424)) and convert it later. But in fact I have no need to force a whitespace character on output. If I donbt mention it, the client may not even notice that all of her PIs have lost a leading space . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/7/2022 10:52:22 PM

Syd, I see two ways (if you really need to) to maintain a PI whose string value starts with a whitespace character: 1. Enclose this value in some strippable non-whitespace characters (say apostrophes or quotes), or, 2. If the value is guaranteed not to end with a space character, just use the . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/7/2022 10:23:46 PM

MH> The relevant XSLT 3 spec section is https://www.w3.org/TR/xslt-30/#constructing-simple-content<https://nam12.safe links.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2FTR%2Fxslt-30%2F% 23constructing-simple-content&data=05%7C01%7Cs.bauman%40northeastern.edu%7Cf7 d75cb09c2b4004a . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/7/2022 10:07:59 PM

Yes, Saxon strips any leading whitespace included in the content when you create a processing instruction using XSLT or XQuery. XQuery 3.1 mandates this in B'3.9.3.5. XSLT 3.0 also does so, in B'5.7.2. The problem is that there is no way of serializing a PI in such a way that leading whitespace i . . . Read full entry »


Re: Re: Initial whitespace in PI from XSLT, appendices

Posted 5/7/2022 9:51:49 PM

https://www.w3.org/TR/xslt-30/#constructing-simple-content : " . . . 6. In the case of xsl:processing-instruction <https://www.w3.org/TR/xslt-30/#element-processing-instruction>, any leading spaces in the resulting string are removed. " On Sat, May 7, 2022 at 2:34 PM Bauman, S . . . Read full entry »


Re: Initial whitespace in PI from XSLT, main body

Posted 5/7/2022 9:45:37 PM

On 07.05.2022 23:14, Bauman, Syd s.bauman@xxxxxxxxxxxxxxxx wrote: > _Writing_ > But what if I try to /write/ a PI whose string value starts with one > or more whitespace characters? > > First, we know the processor is *required* to write out one or more > whitespace characters bet . . . Read full entry »


Re: Initial whitespace in PI from XSLT, appendices

Posted 5/7/2022 9:34:06 PM

APPENDIX A: XSLT program and input document <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <?syd nospace?> <?syd already normalized space?> <?syd lots . . . Read full entry »


Initial whitespace in PI from XSLT, main body

Posted 5/7/2022 9:14:19 PM

[Could not post whole thing due to size limitation on list. Complete text version and separate appendices are currently available at https://bauman.zapto.org/~syd/temp/DSG/Initial_whitespace_in_PI_from_XSLT/. Since that is not a permanent store (hence the btemp/b in the path), I will post the app . . . Read full entry »


Re: Defensive programming in XSLT using asserts and a

Posted 5/6/2022 7:25:45 PM

On Fri, 2022-05-06 at 16:27 +0000, Michael Kay mike@xxxxxxxxxxxx wrote: > If you can express the condition with an @as attribute, use that in > preference to an xsl:assert, because it's much more amenable to > static analysisB This is a good reason; another is that programming errors in . . . Read full entry »


Re: Best Practice: use @as wherever possible

Posted 5/6/2022 7:24:30 PM

Think of the division between @as and xsl:assert in the following way: If what you want to check is the type of a single variable as optional/one or more/any of a given type attach @as to the defining statement (xsl:variable, xsl:param, xsl:sequence). As Michael says, the compiler can do much more . . . Read full entry »


Best Practice: use @as wherever possible

Posted 5/6/2022 7:02:16 PM

Michael Kay wrote: -------------------------------------------------------------------------- If you can express the condition with an @as attribute, use that in preference to an xsl:assert, because it's much more amenable to static analysis - certainly with Saxon, xsl:assert will only ever give yo . . . Read full entry »


Re: Defensive programming in XSLT using asserts and a

Posted 5/6/2022 4:28:21 PM

> > What other ways do you do defensive programming in XSLT? > > Didn't I already mention "catch-all" templates? In fact, I don't believe one can achieve the result of using a catch-all template with xsl:assert. xsl:assert can be present only at a location when something i . . . Read full entry »


Re: Defensive programming in XSLT using asserts and a

Posted 5/6/2022 4:26:15 PM

If you can express the condition with an @as attribute, use that in preference to an xsl:assert, because it's much more amenable to static analysis - certainly with Saxon, xsl:assert will only ever give you a run-time error. The diagnostics for type errors will also tend to be better. > > &l . . . Read full entry »


Re: Defensive programming in XSLT using asserts and a

Posted 5/6/2022 4:06:16 PM

> What other ways do you do defensive programming in XSLT? Didn't I already mention "catch-all" templates? Thanks, Dimitre On Fri, May 6, 2022 at 7:16 AM Roger L Costello costello@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Hi Folks, > > I just love . . . Read full entry »


Re: Defensive programming in XSLT using asserts and a

Posted 5/6/2022 3:29:00 PM

In addition to being obsessive about using @as, I tend to have fallback templates that will report unhandled elements. This approach tends to tell me when Im done handling all the cases in my input corpus. And of course the general programming practice of checking preconditions before performing . . . Read full entry »


Defensive programming in XSLT using asserts and as="..

Posted 5/6/2022 2:16:17 PM

Hi Folks, I just love the xsl:assert statement! I am going wild with it. I am peppering asserts through my XSLT program. Already I have caught a bunch of errors that would otherwise have been missed. It dawned on me that there are other mechanisms in XSLT that perform "implicit asserts&quo . . . Read full entry »


Re: [Using xsltproc]: output of running XSLT is missin

Posted 5/5/2022 9:52:12 AM

On 05.05.2022 11:47, ohaya ohaya@xxxxxxxxx wrote: and the output that I am getting is: <?xml version="1.0"?> <exp:Export xmlns:L7p="http://www.layer7tech.com/ws/policy" xmlns:exp="http://www.layer7tech.com/ws/policy/export" xmlns:wsp="http://schemas.xmls . . . Read full entry »



PURCHASE STYLUS STUDIO ONLINE TODAY!!

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

Buy Stylus Studio Now

Learn XQuery in 10 Minutes!

Say goodbye to 10-minute abs, and say Hello to "Learn XQuery in Ten Minutes!", the world's fastest and easiest XQuery primer, now available for free!

Why Pay More for XML Tools?

With Stylus Studio® X14 XML Enterprise Suite, you get the most comprehensive XML tool suite at one incredibly low price. Value: it's just one of many reasons why smart XML developers are choosing Stylus Studio!

 
Free Stylus Studio XML Training:
W3C Member