Subject: [xsl] Updating XML From: Marko Petersen <lg002237@xxxxxxxxxxxxxxxx> Date: Tue, 17 Dec 2002 14:48:36 +0100 |
I am trying to insert some elements into a XML file, but I don't know exactly how the XML looks like, I only know the DTD. So I tried to break it down and got a working stylesheet, but it seems not to be a very good solution, I always use not(name() = 'elementname') and I think that there might be a better and simpler solution. I tried somesthing like not(elementname), but this does not work. The following is the style, I deleted some elements to check for, the original checks for some more elements, but this will show what I mean.
<xsl:template match="section | chapter"> <xsl:copy> <xsl:apply-templates select="@*"/>
<!-- apply all elments except section, simplesect, index and bibliography, but also apply index and bibliography, if they are followed by an element which is not index or bibliography --> <xsl:apply-templates select="*[( not(name() = 'section') and not(name() = 'simplesect') and not(name() = 'index') and not(name() = 'bibliography') ) or ( ( name() = 'index' or name() = 'bibliography' ) and following-sibling::*[ not(name() = 'index') and not(name() = 'bibliography') ])]"/>
<!-- do something --> <para role="annotation.new"/>
<!-- now apply section, simplesect and all index and bibliography elements, which are not followed by an element which is other than index or bibliography. --> <xsl:apply-templates select="section | simplesect | *[ ( name() = 'index' or name() = 'bibliography') and not(following-sibling::*[not( name() = 'index' or name() = 'bibliograpy' )])]"/>
</xsl:copy> </xsl:template>
Has anybody an idea how to make the above style a little more simple? Or how to get the same result an easier way?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Fibonacci & XSL, Dimitre Novatchev | Thread | Re: [xsl] Updating XML, Jeni Tennison |
RE: [xsl] Extending Xhtml2fo.xsl to, Graham Hannington | Date | RE: [xsl] Fibonacci & XSL, bryan |
Month |