My input file is docbook.xml and my output need to be in DITA with Topic DTD. In the Topic DTD, the 2nd level section element not allowing inside the 1st level section element. Here my Input xml file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book
PUBLIC "-//OASIS//DTD DocBook V5.0//EN" "http://docbook.org/xml/5.0/dtd/docbook.dtd">
<book xmlns="http://docbook.org/ns/docbook"><article><info><bibliomisc role="data.module.code">HSXWB-A-79-11-11-00A01-000A-D</bibliomisc><issuenum>001</issuenum><date>2016-01-29</date><title>LANDING GEAR</title><subtitle>FUNCTION, DATA
FOR PLANS AND DESCRIPTION</subtitle><bibliomisc role="classification">01</bibliomisc><bibliomisc role="responsible.partner.company">F0302</bibliomisc><bibliomisc role="originator">F0302</bibliomisc><bibliomisc role="applicability">ALL</bibliomisc><bibliomisc role="data.module.reference.code">TRENTXWB-A-00-00-00-01A01-022A-D</bibliomisc><bibliomisc role="quality.assurance">tabtop</bibliomisc><bibliomisc role="skill.level">sk01</bibliomisc><bibliomisc role="reason.for.update">First Release</bibliomisc><bibliomisc role="publication.code">UNKNOWN PUBLICATION</bibliomisc></info><?dbfo-need height="2cm"?><section><title>DESCRIPTION</title>
<para>The A380 is available with two types of turbofan engines, the
Rolls-Royce Trent 900 (variants A380-841, −842 and −843F) or the Engine
Alliance GP7000 (A380-861 and −863F). Noise reduction was an important
requirement in the A380 design, and particularly affects engine design.</para>
<para>Landing gears<itemizedlist>
<listitem><para>Nose Landing Gear</para>
</listitem>
<listitem><para>Wing Landing Gear (Bogie Type, 4 Wheels - 4 Braked)</para>
</listitem>
<listitem><para>Body Landing Gear (Bogie Type, 6 Wheels - 4 Braked)</para>
</listitem>
</itemizedlist></para>
<section><title>Wing Landing Gear</title>
<section><para>Each wing landing gear has a leg assembly and
a four-wheel bogie beam. The WLG leg includes a Bogie Trim Actuator
(BTA) and an oleo-pneumatic shock absorber.</para>
</section></section><section><title>Body Landing Gear</title>
<section><para>The two body landing gears have a six-wheel bogie
beam and a leg assembly that includes an oleo- pneumatic shock absorber.
A two-piece drag-stay assembly mechanically locks the leg in the extended
position.</para>
</section></section></section>
<section><figure xml:id="HSXWB-A-79-11-11-00A01-000A-DTRENTXWB-A-00-00-00-01A01-022A-D-fig-0001" label="1"><title>Landing gear</title>
<mediaobject><imageobject><imagedata align="center" fileref="ICN-HSXWB-A-791111-H-F0302-00001-A-001-01.tif"/></imageobject></mediaobject>
</figure></section>
</article></book>
Actual Output Im getting:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE topic
PUBLIC "com.rsicms.rsuite_te:doctypes:dita:topic" "topic.dtd">
<topic id="topic_1">
<title outputclass="title">LANDING GEARLANDING GEAR</title>
<titlealts>
<navtitle>FUNCTION, DATA
FOR PLANS AND DESCRIPTION</navtitle>
</titlealts>
<prolog>
<metadata>
<data-about>
<data type="data.module.code">HSXWB-A-79-11-11-00A01-000A-D</data>
<data type="classification">01</data>
<data type="responsible.partner.company">F0302</data>
<data type="originator">F0302</data>
<data type="applicability">ALL</data>
<data type="data.module.reference.code">TRENTXWB-A-00-00-00-01A01-022A-D</data>
<data type="quality.assurance">tabtop</data>
<data type="skill.level">sk01</data>
<data type="reason.for.update">First Release</data>
<data type="publication.code">UNKNOWN PUBLICATION</data>
</data-about>
<foreign outputclass="issuenum">001</foreign>
<unknown outputclass="date">2016-01-29</unknown>
</metadata>
</prolog>
<body>
<section>
<title>DESCRIPTION</title>
<p>The A380 is available with two types of turbofan engines, the
Rolls-Royce Trent 900 (variants A380-841, −842 and −843F) or the Engine
Alliance GP7000 (A380-861 and −863F). Noise reduction was an important
requirement in the A380 design, and particularly affects engine design.</p>
<p>Landing gears<ul>
<li>
<p>Nose Landing Gear</p>
</li>
<li>
<p>Wing Landing Gear (Bogie Type, 4 Wheels - 4 Braked)</p>
</li>
<li>
<p>Body Landing Gear (Bogie Type, 6 Wheels - 4 Braked)</p>
</li>
</ul>
</p>
<section>
<title>Wing Landing Gear</title>
<section>
<p>Each wing landing gear has a leg assembly and
a four-wheel bogie beam. The WLG leg includes a Bogie Trim Actuator
(BTA) and an oleo-pneumatic shock absorber.</p>
</section>
</section>
<section>
<title>Body Landing Gear</title>
<section>
<p>The two body landing gears have a six-wheel bogie
beam and a leg assembly that includes an oleo- pneumatic shock absorber.
A two-piece drag-stay assembly mechanically locks the leg in the extended
position.</p>
</section>
</section>
</section>
<section>
<title>Landing gear</title>
<image align="center" href="ICN-HSXWB-A-791111-H-F0302-00001-A-001-01.tif"/>
</section>
</body>
</topic>
My xsl file:
<xsl:template match="*|text()|@*">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="section">
<section>
<xsl:apply-templates/>
</section>
</xsl:template>
<xsl:template match="title">
<title>
<xsl:apply-templates/>
</title>
</xsl:template>
<xsl:template match="itemizedlist">
<ul>
<xsl:apply-templates/>
</ul>
</xsl:template>
<xsl:template match="listitem">
<li>
<xsl:apply-templates/>
</li>
</xsl:template>
<xsl:template match="para">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="figure">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="imagedata">
<image>
<xsl:apply-templates select="@*"/>
</image>
</xsl:template>
<xsl:template match="@fileref">
<xsl:attribute name="href">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
<xsl:template match="mediaobject">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="imageobject">
<xsl:apply-templates/>
</xsl:template>
Excepted Output xml as:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE topic
PUBLIC "com.rsicms.rsuite_te:doctypes:dita:topic" "topic.dtd">
<topic id="topic_1">
<title outputclass="title">LANDING GEARLANDING GEAR</title>
<titlealts>
<navtitle>FUNCTION, DATA
FOR PLANS AND DESCRIPTION</navtitle>
</titlealts>
<prolog>
<metadata>
<data-about>
<data type="data.module.code">HSXWB-A-79-11-11-00A01-000A-D</data>
<data type="classification">01</data>
<data type="responsible.partner.company">F0302</data>
<data type="originator">F0302</data>
<data type="applicability">ALL</data>
<data type="data.module.reference.code">TRENTXWB-A-00-00-00-01A01-022A-D</data>
<data type="quality.assurance">tabtop</data>
<data type="skill.level">sk01</data>
<data type="reason.for.update">First Release</data>
<data type="publication.code">UNKNOWN PUBLICATION</data>
</data-about>
<foreign outputclass="issuenum">001</foreign>
<unknown outputclass="date">2016-01-29</unknown>
</metadata>
</prolog>
<body>
<section>
<title>DESCRIPTION</title>
<p>The A380 is available with two types of turbofan engines, the
Rolls-Royce Trent 900 (variants A380-841, −842 and −843F) or the Engine
Alliance GP7000 (A380-861 and −863F). Noise reduction was an important
requirement in the A380 design, and particularly affects engine design.</p>
<p>Landing gears<ul>
<li>
<p>Nose Landing Gear</p>
</li>
<li>
<p>Wing Landing Gear (Bogie Type, 4 Wheels - 4 Braked)</p>
</li>
<li>
<p>Body Landing Gear (Bogie Type, 6 Wheels - 4 Braked)</p>
</li>
</ul>
</p></section>
<section>
<title>Wing Landing Gear</title>
<p>Each wing landing gear has a leg assembly and
a four-wheel bogie beam. The WLG leg includes a Bogie Trim Actuator
(BTA) and an oleo-pneumatic shock absorber.</p>
</section>
<section>
<title>Body Landing Gear</title>
<p>The two body landing gears have a six-wheel bogie
beam and a leg assembly that includes an oleo- pneumatic shock absorber.
A two-piece drag-stay assembly mechanically locks the leg in the extended
position.</p>
</section>
<section>
<title>Landing gear</title>
<image align="center" href="ICN-HSXWB-A-791111-H-F0302-00001-A-001-01.tif"/>
</section>
</body>
</topic>
Please advice me on this. Thanks in advance
On your specific example you can try integrate following template into your XSLT:
<xsl:template match="section">
<section>
<xsl:apply-templates select="node()[not(self::section)]"/>
</section>
<xsl:apply-templates select="section"/>
</xsl:template>