xsl-list
[Top] [All Lists]

Re: [xsl] How to avoid careless mistakes when using XSLT modes?

2019-04-19 13:49:01
If you are working in Oxygen, or similar XML editor,
viewing the outline of an XSLT stylesheet also
displays the modes for each template. You can make 
sure they all match that should, see at a glance which 
template is in no mode at all, or one, or 
two... Oxygen also lets you sort by mode in this view.

--Debbie



On Apr 19, 2019, at 2:41 PM, David Sewell dsewell(_at_)virginia(_dot_)edu 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

I just spent too much time completely puzzled about why a particular template 
was not producing correct/expected output before realizing that in many cases 
the template was not matching anything -- because some time ago I had added a 
mode to certain instances of <xsl:template> and <xsl:apply-templates> without 
being sure to adjust other templates in the stylesheet.

Adding mode="#all" to my failing template fixed the problem.

Obviously one could prevent many such problems by checking for the existence 
of @mode in a stylesheet before working with it. Remembering always to do 
that is the problem. Any other suggestions? (I guess one could make a habit 
of adding an <xsl:message> to the template matching the root to warn that the 
template is using modes.)

David

-- 
David Sewell
Manager of Digital Initiatives
The University of Virginia Press
Email: dsewell(_at_)virginia(_dot_)edu   Tel: +1 434 924 9973
Web: http://www.upress.virginia.edu/rotunda



================================================================
Deborah A Lapeyre              mailto:dalapeyre(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.      http://www.mulberrytech.com
17 West Jefferson Street         Phone: 301-315-9631 (USA)
Suite 207                        Fax:   301-315-8385
Rockville, MD 20850
----------------------------------------------------------------
Mulberry Technologies: Consultancy for XML, XSLT, and Schematron
================================================================
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>