Subject: Re: [xsl] Find the node name of the parent in the result tree? From: Brian Chrisman <brchrisman@xxxxxxxxx> Date: Fri, 22 Mar 2013 16:27:28 -0700 |
On Fri, Mar 22, 2013 at 2:14 PM, Martin Holmes <mholmes@xxxxxxx> 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Find the node name of the, Michael Kay | Thread | [xsl] [Ann] XMLSpectrum - Update to, Philip Fearon |
Re: [xsl] Find the node name of the, Michael Kay | Date | Re: [xsl] creating a temporary docu, David Carlisle |
Month |