Michael,
On 8/17/2012 3:11 PM, Michael Müller-Hillebrand wrote:
..//image-size[1]
expands to
parent::node()/descendant-or-self::node()/child::image-size[position() = 1]
…which might result in a sequence of more than one element.
But it might be good to learn
normalize-space(../descendant::image-size[1])
in case you're ever running under XSLT 2.0 ...
... at least as long as you agree that a little paranoia never hurt ...
Wendell,
I don’t see this as paranoia, because such stuff happens!
Yes it does. (Who said paranoiacs are always wrong? :-)
More seriously, one does have to consider extraneous circumstances here,
beyond the mere question of the semantics of the code.
Such as: do you plan to run this code only once, or how often? How fault
tolerant does it have to be?
How well controlled is the input? Are there any constraints to which it
is known to conform (such as only one image-size element allowed in one
place), for example by virtue of schema validation, that help to manage
this issue? If so, this amounts to water-cooler talk among XSLT developers.
(Michael I know you know all this.)
Do you agree that another option to force the resulting sequence to have only
one element would be
normalize-space((..//image-size)[1])
Yes, that's the more common solution, I think since we thought of it first.
But I agree that the use of descendant:: is much clearer, especially to people
who (have to) read this bit of code later.
I think so too. :-)
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--