Is there an extension point for topicComponentsExpander.xsl or way to override on of its templates
Post here questions and problems related to editing and publishing DITA content.
-
- Posts: 47
- Joined: Thu Aug 27, 2015 9:28 pm
Is there an extension point for topicComponentsExpander.xsl or way to override on of its templates
Hi,
Some of our source content is generating empty on this page areas due to the fact we have section elements without titles.
I want to make a chnage to <xsl:template match="whc:webhelp_topic_toc" mode="copy_template"> to detect if the list of items is empty and if so dont output the section.
Current line:
<xsl:if test="count($generate_topic_toc/ul/descendant::li) > 1">
Modified line:
<xsl:if test="count($generate_topic_toc/ul/descendant::li) > 1 and (string($generate_topic_toc) !='')">
I can do this in the original file but would rather not make customizations there.
Can I override this file or the template using an extension point?
Thanks
Arron Varga
Some of our source content is generating empty on this page areas due to the fact we have section elements without titles.
I want to make a chnage to <xsl:template match="whc:webhelp_topic_toc" mode="copy_template"> to detect if the list of items is empty and if so dont output the section.
Current line:
<xsl:if test="count($generate_topic_toc/ul/descendant::li) > 1">
Modified line:
<xsl:if test="count($generate_topic_toc/ul/descendant::li) > 1 and (string($generate_topic_toc) !='')">
I can do this in the original file but would rather not make customizations there.
Can I override this file or the template using an extension point?
Thanks
Arron Varga
-
- Posts: 404
- Joined: Thu Aug 21, 2003 11:36 am
- Location: Craiova
- Contact:
Re: Is there an extension point for topicComponentsExpander.xsl or way to override on of its templates
Post by radu_pisoi »
Hi,
Yes, you can use the com.oxygenxml.webhelp.xsl.dita2webhelp XSLT-Import Extension Point to override the XSLT stylesheet (dita2webhelp.xsl) that produces an HTML file for each DITA topic.
See more information in our user manual:
* WebHelp Responsive XSLT-Import and XSLT-Parameter Extension Points
* XSLT Extensions for WebHelp Responsive Transformations
Yes, you can use the com.oxygenxml.webhelp.xsl.dita2webhelp XSLT-Import Extension Point to override the XSLT stylesheet (dita2webhelp.xsl) that produces an HTML file for each DITA topic.
See more information in our user manual:
* WebHelp Responsive XSLT-Import and XSLT-Parameter Extension Points
* XSLT Extensions for WebHelp Responsive Transformations
Radu Pisoi
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
-
- Posts: 47
- Joined: Thu Aug 27, 2015 9:28 pm
Re: Is there an extension point for topicComponentsExpander.xsl or way to override on of its templates
Just to confirm you are saying I can use the com.oxygenxml.webhelp.xsl.dita2webhelp extension point to override a template in the topicComponentsExpander.xsl file?
So I would add to my opt file:
then I would add to my customDita2webhelp.xsl:
So I would add to my opt file:
Code: Select all
<xslt>
<extension id="com.oxygenxml.webhelp.xsl.dita2webhelp" file="xsl/mainFiles/customDita2webhelp.xsl"/>
...
</xslt>
Code: Select all
<!-- Expand 'webhelp_topic_toc' place holder. -->
<xsl:template match="whc:webhelp_topic_toc" mode="copy_template">
<xsl:param name="ditaot_topicContent" tunnel="yes"/>
<xsl:if test="oxy:getParameter('webhelp.show.topic.toc') = 'yes'">
<xsl:choose>
<xsl:when test="exists($ditaot_topicContent)">
<xsl:variable name="generate_topic_toc">
<!-- Copy topic content without the related links section. -->
<!-- Try to copy the 'main' element. Generally, it is generated by DITA-OT 2.x -->
<xsl:variable name="topicContent2_0" select="$ditaot_topicContent//body//main"/>
<xsl:if test="exists($topicContent2_0)">
<xsl:call-template name="generateTopicTOC">
<xsl:with-param name="topicContent2_0" select="$topicContent2_0"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<!-- IPTS-1081 -->
<xsl:if test="count($generate_topic_toc/ul/descendant::li) > 1 and (string($generate_topic_toc) !='')">
<xsl:variable name="topic_toc_content">
<div>
<xsl:call-template name="generateComponentClassAttribute">
<xsl:with-param name="compClass">wh_topic_toc</xsl:with-param>
</xsl:call-template>
<!-- Copy attributes -->
<xsl:copy-of select="@* except @class"/>
<div class="wh_topic_label"><xsl:call-template name="getWebhelpString"><xsl:with-param name="stringName" select="'on_this_page'"/></xsl:call-template></div>
<xsl:copy-of select="$generate_topic_toc"/>
</div>
</xsl:variable>
<xsl:call-template name="outputComponentContent">
<xsl:with-param name="compContent" select="$topic_toc_content"/>
<xsl:with-param name="compName" select="local-name()"/>
</xsl:call-template>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:message>Cannot expand the 'webhelp_topic_content' component.</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
-
- Posts: 404
- Joined: Thu Aug 21, 2003 11:36 am
- Location: Craiova
- Contact:
Re: Is there an extension point for topicComponentsExpander.xsl or way to override on of its templates
Post by radu_pisoi »
Hi,
Yes, it seems correct. Have you encountered any problem?
Yes, it seems correct. Have you encountered any problem?
Radu Pisoi
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
-
- Posts: 47
- Joined: Thu Aug 27, 2015 9:28 pm
Re: Is there an extension point for topicComponentsExpander.xsl or way to override on of its templates
Hi,
So I tried moving the template <xsl:template match="whc:webhelp_topic_toc" mode="copy_template"> to my customDita2webhelp.xsl file and now we do not get the on this page section at all when we should.
If I make my slight change to the template in the topicComponentExpander.xsl file then everything works as expected the on page area displays when there are section titles and does not display if there are section titles but they are empty.
I would prefer to not have to make chnages to your source files and figure out how to extend it so my code remains separate from the out of the box code.
So I tried moving the template <xsl:template match="whc:webhelp_topic_toc" mode="copy_template"> to my customDita2webhelp.xsl file and now we do not get the on this page section at all when we should.
If I make my slight change to the template in the topicComponentExpander.xsl file then everything works as expected the on page area displays when there are section titles and does not display if there are section titles but they are empty.
I would prefer to not have to make chnages to your source files and figure out how to extend it so my code remains separate from the out of the box code.
-
- Posts: 404
- Joined: Thu Aug 21, 2003 11:36 am
- Location: Craiova
- Contact:
Re: Is there an extension point for topicComponentsExpander.xsl or way to override on of its templates
Post by radu_pisoi »
Hi,
I cannot find any reason why your extension point is not working, everything seems ok.
Could you send us a sample publishing template together with your XSLT extension on support@oxygenxml.com?
I cannot find any reason why your extension point is not working, everything seems ok.
Could you send us a sample publishing template together with your XSLT extension on support@oxygenxml.com?
Radu Pisoi
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Return to “DITA (Editing and Publishing DITA Content)”
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service