|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: implement attribute inheritance
Write a modified identity template rule: <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="ancestor-or-self::*/@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> The copy-of will select the attributes in document order (innermost element last), and where two attributes with the same name are added to an element, the last one wins, which is the effect you need. Michael Kay > -----Original Message----- > From: Emmanouil Batsis [mailto:Emmanouil.Batsis@xxxxxxxxxxx] > Sent: 13 July 2004 16:01 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: implement attribute inheritance > > Dear gurus, > > I'm trying to write a preprocessor script to transform implicit > inheritance semantics to actual nodes. The target effect is something > like namespace scopes but I want to inherit attribute-value pairs > instead of namespace URIs. Then, I'll be able and edit files > and assume > scope based inheritance of attributes for readability and > other reasons. > > For example the following: > > <root attr1="attr1"> > <grantparent attr2="attr2"> > <parent attr1="changed-by-parent"> > <child> > <grandchild attr1="changed-by-grandchild"/> > </child> > </parent> > </grantparent> > </root> > > should become > > <root attr1="attr1"> > <grantparent attr1="attr1" attr2="attr2"> > <parent attr1="changed-by-parent" attr2="attr2"> > <child attr1="changed-by-parent" attr2="attr2"> > <grandchild attr1="changed-by-grandchild" attr2="attr2"/> > </child> > </parent> > </grantparent> > </root> > > This of course is easy to implement for a finite number of attributes > using parameters and call-template, but how can I do this when > attributes are not known? > > Any XSLT 1.0 pointers welcome. XSLT 2.0 pointers would be > interesting, > but I wont be able to use them. > > Thanks, > > Manos
|
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
|

Cart








