[XSL-LIST Mailing List Archive Home]
[Reply To This Message]
Re: Re: <xsl:element> and literal elements
Subject: Re: Re: <xsl:element> and literal elements|
From: "M. David Peterson" <m.david@xxxxxxxxxx>
Date: Sat, 27 May 2006 23:05:18 -0600
Wow! I really should not write code inline via my email editor.
<xsl:variable name="$output-name"> = <xsl:variable name="output-name">
On Sat, 27 May 2006 22:47:32 -0600, M. David Peterson <m.david@xxxxxxxxxx>
This all seems a matter of preference. Which is fine. But preferences
are different from rules obviously.
Setting aside personal preference, I use the same general rule that
Wendell alluded to earlier (I think in this same thread, but I read it a
day or two ago, so I'm not certain)
When you need to make a decision at run time as to what the output
element name and namespace (or simply name() for the
namespace:element-name, or local-name() for just the element-name if you
plan to copy the current element name into the output stream) will be,
For example (a VERY simply example -- not much use-case focus place on
<xsl:when test="name() = 'foo'">bar</xsl:when>
For a slightly more advanced way of using dyanmic element naming see:
(,), otherwise, the above should provide enough to at least think
about how to implement a dynamic naming system and when it seems like a
good idea to use one or the other in regards to Wendell's original
Performance and personal preference are the only other two reasons I can
think of to use one over the other.
Performance is processor dependent, but using a simple "calling an
instruction via an instruction element is going to invoke a process
beyond simple output serialization".
Personal preference is (GoTo: start of this sentence.) ;)
On Sat, 27 May 2006 11:29:24 -0600, Martin Holmes <mholmes@xxxxxxx>
Wendell Piez wrote:
At 06:31 PM 5/25/2006, you wrote:
I'd be curious if people on this list
have opinions on whether or not they've come up with rules for when
use literal result elements and when to use xsl:element.
Use literal result elements when you can; use xsl:element when you
Interesting -- my instincts are completely the opposite. I like the
clarity of <xsl:element and <xsl:attribute. I like all actual elements
in the stylesheet to be in the xsl namespace if possible. I don't like
the idea of literal text containing angle brackets that turn into
elements in the output data; it seems a little confusing. I think I
would actually prefer it if this:
resulted in this output:
<xsl:element name="html_blah" />
resulted in this:
I use <xsl:element and <xsl:attribute wherever I can, and I've never
noticed any real impact on speed (although most of my slower
are slow because of lots of looping and recursion, rather than because
I'm not using literal elements.
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format