RE: [xsl] global filter

Subject: RE: [xsl] global filter
From: "Lizzi, Vincent" <Vincent.Lizzi@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 12 Aug 2013 14:12:40 +0000
I'd missed the part about wanting to switch this behavior on or off with a
parameter. You can still use a general template for elements that are passed
through when not filtered, for example:

<xsl:template match="*[@audience='restricted']" priority="10">
<xsl:if test="$restrictYN = 'N'"><xsl:copy-of select="."/></xsl:if>
</xsl:template>

Then you'll need to modify each template that does some work to add a test for
@audience='restricted' and your parameter to either suppress the content or
continue on as normal.

If it's an option for you, it might be easier to have a separate stylesheet
filter out restricted elements run before your main stylesheet.

Vincent


-----Original Message-----
From: Lizzi, Vincent
Sent: Monday, August 12, 2013 9:48 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] global filter

Hi Geert,

This might work for you:

<xsl:template match="*[@audience='restricted']" priority="10"><!-- suppress
--></xsl:template>

This should suppress any element with attribute audience='restricted'.
Increase the priority if you have other templates that use priority 10.

Vincent


-----Original Message-----
From: Geert Bormans [mailto:geert@xxxxxxxxxxxxxxxxxxx]
Sent: Monday, August 12, 2013 9:36 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] global filter

Hi all,

Was wondering today if this would be the best approach...

I have an XML that could have an audience="restricted" on each an every
element, and depending on a global parameter, I want to filter out all of the
restricted content in my processing.

I would assume that if I had a common catch all template with a very high
priority, the process would always go there first, and I only need one
template with the filter logic.
next-match would then allow me to do the actual processing (if not restricted)
Seems like a use case for next-match, no?

I could actually have the same effect more or less if I had only one template
without a mode, and had all the other templates in a mode Is that correct, or
am I overlooking something?

Just wondering what the best approach would be in a filter that is allowed on
each and every element

Thanks

Geert

Current Thread