Nothing wrong with the code that I can see. Perhaps it's something to do
with namespaces. Cut it down to a small example that shows the problem,
and then show us the full XML and XSL.
Incidentally, your code:
<xsl:for-each
select="//textStyle[(_at_)name=$styleName]/inlineAttr/@*">
<xsl:attribute name="{local-name(.)}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
is equivalent to
<xsl:copy-of select="//textStyle[(_at_)name=$styleName]/inlineAttr/@*"/>
unless you are doing something very odd with namespaces.
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Kyle Partridge
Sent: 08 December 2003 21:07
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Attempt to Select from the Top of Document No Worky
Hi,
I've searched high and low for the answer to this
problem...to no avail...so I'll be quick. I've got a
pretty complicated xml document...lots of nodes.
I'm matching a paragraph, and I want to style it. the
structure is something like:
<p style="blah">stuff in here</p>
Someplace else, far above, the "blah" style is
defined, in a node pretty well nested:
<presentationSettings>
<textRendering>
<textStyles>
<textStyle name="Normal">
<blockAttr indent-left="0" indent-right="0"
text-indent="0" text-align="left"
list-style-type="none" tabs="0.5 1.0 1.2"/>
<inlineAttr font-family="Arial" font-size="10"
font-weight="normal" font-style="normal"
font-charset="Western" text-decoration="none"
vertical-align="baseline" color="#000"/>
</textStyle>
...lots and lots more stuff before the preceeding
tags close...
I tried to use this template to get the style
information to apply to each paragraph, but it doesn't
work.
<xsl:template match="ws:p">
<xsl:element name="fo:block">
<xsl:variable name="styleName" select="@style"/>
<xsl:for-each
select="//textStyle[(_at_)name=$styleName]/inlineAttr/@*">
<xsl:attribute name="{local-name(.)}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
Maybe the reason is that // doesn't work inside of my
existing query (ws:p), but what can I do to get the
values I'm looking for?
Many thanks,
KP
__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list