xsl-list
[Top] [All Lists]

Re: [xsl] Find the node name of the parent in the result tree?

2013-03-22 18:27:15
On Fri, Mar 22, 2013 at 2:14 PM, Martin Holmes <mholmes(_at_)uvic(_dot_)ca> 
wrote:
If I have a template matching an attribute, and producing one in the output
tree, like this:

  <xsl:template match="@style">
        <xsl:attribute name="style" select="."/>
  </xsl:template>

Is there any way to know the name of the element in the result tree which is
the parent of the attribute being created?

Some context: I'm turning TEI @style attributes into HTML @style attributes
in the output, and I'd like to handle situations in which this kind of
input:

<hi rend="text-align: center;">Centred text</hi>

results in output that doesn't work:

<span style="text-align: center;">NOT centred because it's a span</span>

If I knew the output element was a <span> or element which is inline by
default, I could add "display: block" automatically to any @style attribute
that contains a block-level CSS property such as text-align. I don't want to
add "display: block" in all cases, because e.g. a <div> element might
already have a class which floats it.

Cheers,
Martin

A two-stage stylesheet pipeline would work, provided that the context
you need is either *all* from the original document or *all* from the
result document (but not pieces/parts from each). (Also provided no
particular resource constraint.)
Might also be stylistically better than munging it all into one
stylesheet, if doing so separates different components of the
presentation.

-Brian


--~------------------------------------------------------------------
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>
--~--


--~------------------------------------------------------------------
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>
--~--

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