|
Well, I can at least
supply some of the reasons why the Unicode character is
showing -- as I got
caught by this myself. The reason is your line ending
between
the
<xsl:attribute> and </xsl:attribute> tags.
I don't remember the
section in the standard, but simply put ANYTHING between
the start/end tags
to create an attribute is interpreted as part of the value. So
the
XSL processor is
adding a Unicode character for the line feed.
To fix this (in the
cases where the attribute value template doesn't work -- the curly braces),
just make sure you
don't add any extra white space. For example:
<xsl:attritbue
name="value"><xsl:value-of select="@name"/></xsl:attribute>
If you editor wraps
it strangely, don't worry about it. It will still work correctly.
Sara
If I do
<xsl:element
name="input"> <xsl:attribute
name="name">name</xsl:attribute> <xsl:attribute
name="type">text</xsl:attribute>
<xsl:attribute
name="value"> <xsl:value-of
select="@name"
/> </xsl:attribute> </xsl:element>
and @name contains a numeric Unicode entity, Saxon chokes. On the
other hand, if I do
<input name="name" type="text"
value="{@name}"/>
it works fine. Thanks to Steve Tinney for the hint. Mind
you, I don't understand why this is so, but I'm content.
Dave Halsted
|
|