Subject: Re: [xsl] Duplicate title issue From: "J.S. Rawat jogarawat@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 15 Apr 2025 15:57:41 -0000 |
Hi team no one found the solution On Wed, 9 Apr 2025, 18:26 J.S. Rawat jogarawat@xxxxxxxxx, < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Hi Team, > I am facing duplicate topicref problem. Please help. > Output > <map id="d1e1" xml:lang="en-us"> > <title>1.0 Electrical</title> > <topicref1 navtitle="1.0 Electrical" href="electrical.dita"> > <topicref4 navtitle="1.1 Wire" href="wire.dita"/> > <topicref2 navtitle="1.2 Switches" href="switches.dita"> > <topicref4 navtitle="1.2.1 Switch type" href="switch_type.dita"/> > <topicref4 navtitle="1.2.2 How connected" href="how_th.dita"/> > <topicref4 navtitle="1.2.3 Switch operates" href="how_the.dita"/> > <topicref4 navtitle="1.2.4 Function" href="function.dita"/> > <topicref2 navtitle="1.3 Specialty switches" > href="specialty_switches.dita"/> > </topicref2> > <topicref4 navtitle="1.2.1 Switch type" href="switch_type.dita"/> > <topicref4 navtitle="1.2.2 How connected" href="how_th.dita"/> > <topicref4 navtitle="1.2.3 Switch operates" href="how_the.dita"/> > <topicref4 navtitle="1.2.4 Function" href="function.dita"/> > <topicref2 navtitle="1.3 Specialty switches" > href="specialty_switches.dita"/> > </topicref1> > <topicref1 navtitle="2.0 Switch symbols (Switcheally)" > href="switch.dita"/> > </map> > > Exptected Output > <map id="d1e1" xml:lang="en-us"> > <title>1.0 Electrical</title> > <topicref1 navtitle="1.0 Electrical" href="electrical.dita"> > <topicref2 navtitle="1.1 Wire" href="wire.dita"/> > <topicref2 navtitle="1.2 Switches" href="switches.dita"> > <topicref4 navtitle="1.2.1 Switch type" href="switch_type.dita"/> > <topicref4 navtitle="1.2.2 How connected" href="how_th.dita"/> > <topicref4 navtitle="1.2.3 Switch operates" href="how_the.dita"/> > <topicref4 navtitle="1.2.4 Function" href="function.dita"/> > </topicref2 > <topicref2 navtitle="1.3 Specialty switches" > href="specialty_switches.dita"/> > </topicref1> > <topicref1 navtitle="2.0 Switch symbols (Switcheally)" > href="switch.dita"/> > </map> > > xslt > <!--to Generate chapter TOC and filename will be .ditamap--> > <xsl:template match="topics"> > <xsl:variable name="folder-name"><xsl:value-of > select="@folder"/></xsl:variable> > <xsl:variable name="title"><xsl:value-of > select="translate(topic[1]/title, ' - ', '_')"/></xsl:variable> > <xsl:variable name="topicName" select="lower-case(translate($title, > ' ,.()?[]&b":/%#', '_'))"/> > <xsl:result-document > href="argos-dita/{$folder-name}/m_{$topicName}.ditamap" method="xml"> > <map id="{generate-id()}" xml:lang="en-us"> > <title> > <xsl:value-of select="topic[1]/title"/> > </title> > <xsl:for-each select="topic[@type = '1']"> > <xsl:variable name="subsection" select="@filename"/> > <topicref1 href="{$subsection}.dita" navtitle="{title}"> > <xsl:if test="body[not(child::*)]"> > <xsl:attribute name="topichead">yes</xsl:attribute> > </xsl:if> > <xsl:if test="following-sibling::*[1][self::topic[@type = '2']] or > following-sibling::*[1][self::topic[@type = '3']] or > following-sibling::*[1][self::topic[@type = '4']]"> > <xsl:call-template name="pullObjects"/> > </xsl:if> > </topicref1> > </xsl:for-each> > <xsl:call-template name="pullObjects"/> > </map> > </xsl:result-document> > </xsl:template> > > <xsl:template match="topic[@type='2']" mode="pullObjects"> > <xsl:variable name="subsection" select="@filename"/> > <topicref2 navtitle="{title}" href="{$subsection}.dita"> > <xsl:if test="body[not(child::*)]"> > <xsl:attribute name="topichead">yes</xsl:attribute> > </xsl:if> > <xsl:if test="following-sibling::*[1][self::topic[@type = '3']] or > following-sibling::*[1][self::topic[@type = '4']]"> > <xsl:call-template name="pullObjects"/> > </xsl:if> > </topicref2> > <xsl:call-template name="pullObjects"/> > </xsl:template> > > <xsl:template match="topic[@type='3']" mode="pullObjects"> > <xsl:variable name="subsection" select="@filename"/> > <topicref4 navtitle="{title}" href="{$subsection}.dita"> > <xsl:if test="body[not(child::*)]"> > <xsl:attribute name="topichead">yes</xsl:attribute> > </xsl:if> > <xsl:if test="following-sibling::*[1][self::topic[@type = '4']] or > following-sibling::*[1][self::topic[@type = '5']]"> > <xsl:call-template name="pullObjects"/> > </xsl:if> > </topicref4> > <xsl:call-template name="pullObjects"/> > </xsl:template> > > <xsl:template match="topic[@type='4']" mode="pullObjects"> > <xsl:variable name="subsection" select="@filename"/> > <topicref4 navtitle="{title}" href="{$subsection}.dita"> > <xsl:if test="body[not(child::*)]"> > <xsl:attribute name="topichead">yes</xsl:attribute> > </xsl:if> > </topicref4> > <xsl:call-template name="pullObjects"/> > </xsl:template> > > <xsl:template name="pullObjects"> > <xsl:apply-templates > select="following-sibling::*[1][self::topic[@type='2'] > or > self::topic[@type='3'] > or > self::topic[@type='4']]" mode="pullObjects"/> > </xsl:template> > > thanks > ...JSR
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Duplicate title issue, J.S. Rawat jogarawat | Thread | Re: [xsl] Duplicate title issue, Martin Honnen martin |
[xsl] [jats-list] upcoming XSLT cou, Liam R. E. Quin liam | Date | Re: [xsl] Duplicate title issue, Martin Honnen martin |
Month |