Subject: Re: [xsl] Display text and all the following nodes except <anchor> and <pb> From: George Cristian Bina <george@xxxxxxxxxxxxx> Date: Fri, 19 Sep 2008 15:50:57 +0300 |
<xsl:template match="anchor|pb" mode="toc"/> <xsl:template match="sCap|bold|ital" mode="toc"> <span class="{name()}"> <xsl:apply-templates mode="toc"/> </span> </xsl:template>
<xsl:template match="header|title" mode="toc"> <xsl:apply-templates mode="toc"/> </xsl:template>
Best Regards, George -- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com
Yes I can understand!!!
INPUT
<docGroup>
<doc id="FFCP0002-DOC0001">
<head>...</head>
<docBody>
<div type="ss1">
<head>O<sCap>FFICERS</sCap> of the R<sCap>EGIMENT</sCap> of I<sCap>NFANTRY</sCap><anchor id="a"/><pb n="b-4"/></head>
... </div>
<div type="ss1">
<head>
<title>(1) Extract of a <anchor id="b"/><pb n="b-5"/>Letter from Governor <person>William Blount</person> to the Secretary of State</title>
</head> ... </div>
</docBody>
</doc>
</docGroup>
XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xd="http://www.pnp-software.com/XSLTdoc"
exclude-result-prefixes="xd"
version="1.0">
<xsl:output method="xml" indent="no"/>
<xsl:template match="doc">
<ul>
<xsl:for-each select="//docGroup//div[@type='ss1']">
<li><a><xsl:attribute name="href">#sec<xsl:number format="1" count="//docGroup//div[@type='ss1']" level="any" from="docGroup"/></xsl:attribute><xsl:apply-templates select="head" mode="toc"/> </a> </li>
</xsl:for-each>
</ul>
<div id="content">
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="div/head"> <xsl:choose> <xsl:when test="../@type='ss1'"> <h2> <xsl:apply-templates/> </h2> </xsl:when> </xsl:choose> </xsl:template>
<xsl:template match="div[@type='ss1']/head" mode="toc">
<xsl:apply-templates select="*[not(self::anchor or self::pb)]|text()"/>
</xsl:template>
<xsl:template match="sCap|bold|ital"> <span class="{name()}"> <xsl:apply-templates/> </span> </xsl:template>
<xsl:template match="anchor"> <a name="{@id}"> <xsl:apply-templates/> </a> </xsl:template>
<xsl:template match="pb"> <a name="{@n}"> <xsl:apply-templates/> </a> </xsl:template>
</xsl:stylesheet>
REQUIRED RESULT
<?xml version="1.0" encoding="utf-8"?>
<ul xmlns="http://www.w3.org/1999/xhtml">
<li><a href="#sec1">O<span class="sCap">FFICERS</span> of the R<span class="sCap">EGIMENT</span> of I<span class="sCap">NFANTRY</span></a></li>
<li><a href="#sec2">
(1) Extract of a Letter from Governor William Blount to the Secretary of State
</a></li></ul>
<div xmlns="http://www.w3.org/1999/xhtml" id="content">
...
<h2>O<span class="sCap">FFICERS</span> of the R<span class="sCap">EGIMENT</span> of I<span class="sCap">NFANTRY</span><a name="a"/><a name="b-4"/></h2>
...
<h2>(1) Extract of a <a name="b"/><a name="b-5"/>Letter from Governor William Blount to the Secretary of State
</h2> ...
</div>
At 01:55 PM 9/19/2008, David Carlisle wrote:It's really a lot better if you post _complete_ but small stylesheets, then people can run the stylesheet and comment on the result. If you only post f ragments, then people can't run them, and often the problem turns out to be in the part of the code not posted.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Display text and all the , J. S. Rawat | Thread | [xsl] xsltproc and stringparam, cha, tom sgouros |
Re: [xsl] Display text and all the , J. S. Rawat | Date | Re: [xsl] xsltproc and stringparam,, tom sgouros |
Month |