[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Matching elements with specific multiple parents


Subject: Re: [xsl] Matching elements with specific multiple parents
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 01 Apr 2011 17:50:30 -0400

Sorry, I needed to explain myself a bit better.

The CVA file address= attribute is an XSLT match attribute ... when I say "generated XSLT" below, my fingers skipped many thoughts: the address= attribute in CVA becomes a context= attribute in Schematron which becomes a match= attribute in the generated XSLT.

So, when you generate your XSLT, you can easily do a match= attribute with all of your contexts separated by the union operator.

. . . . . . . . Ken

At 2011-04-01 17:43 -0400, I wrote:
At 2011-04-01 14:38 -0700, David Lee wrote:
This seems extremely verbose and inelegant but is the best I've come up
with.
I'd like something like
   match="(foo|bar)/child"

but of course that doesn't work.

match="foo/child | bar/child"


Any suggestions on a simpler syntax then what I've come up with ?
Note that this is programmatically generated XSLT so I cant easily
hand-optimize simple cases, it needs to work in the 1-N case in a way that's
reasonably constructible programmatically.

I do this in the programmatically-generated Context/Value Association (CVA) file in the UBL project ... check the generated XSLT near the bottom of:


http://docs.oasis-open.org/ubl/prd1-UBL-2.1/cva/UBL-DefaultDTQ-2.1.cva

... especially the <Context> element with metadata="cctsV2.01-quantity".

I hope this helps.

. . . . . . . . . Ken


--
Contact us for world-wide XML consulting & instructor-led training
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


Current Thread
Keywords