我有以下输入XML文档:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<book>
<article>
<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>
<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><title>Body Landing Gear</title>
<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>
<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"/></imageobject></mediaobject>
</figure>
</section></section></article><book>
我的目标是最终得到一个类似于:
的转换XML<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<book>
<article>
<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.</para>
<para>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>
<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>
<fig 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>
<image align="center" fileref="ICN-HSXWB-A-791111-H-F0302-00001-A-001-01"/></fig>
</section></section></article><book>
我想为section,title,para,list和figure的整个集合编写xslt。我如何用单个xsl:apply-template编写来覆盖所有标签转换集。请帮助别人
答案 0 :(得分:0)
为要转换的每个元素编写模板,并使用标识转换模板作为基本构建块:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</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:transform>
您可以自己为figure
添加更多模板。