XSLTを使用して1つのXML(XHTML)ファイルから別のファイルに変換する必要があります。変換のルールは次のとおりです。
<div id="ta12" class="bl" style="dis:bl">
に置き換える必要があります<div class="pass" value="50">
- id ="t0b"と"t1b"の値は、それぞれid="ta0b8"と"ta3b8"に置き換える必要があります。
<input type="radio" name="o0" id="t0"/>
に置き換える必要があり<input type="radio" name="key0b8" value="0" id="ta0q" class="block" />
ます(そして同様にファイル内で)
入力ファイル:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="iDev">
<div id="ta12" class="bl" style="dis:bl"></div>
<div class="q">
<div id="t0b" class="block">1<span style="color">TEXT1</span>
</div><br />
T <input type="radio" name="o0" id="t0"/>
F <input type="radio" name="op0" id="f0"/>
<div id="sfb"></div>
</div><br />
<div class="q">
<div id="t1b" class="block">2<span style="color">TEXT2</span>
</div><br />
T <input type="radio" name="o1" id="t1" />
F <input type="radio" name="op1" id="f1" />
<div id="sfb"></div>
</div>
</div>
</body>
</html>
出力ファイル:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="iDev">
<div class="pass" value="50"></div>
<div class="q">
<div id="ta0b8" class="block">1<span style="color">TEXT1</span>
</div><br />
T<input type="radio" name="key0b8" value="0" id="ta0q" />
F<input type="radio" name="key0b8" value="1" id="ta1q" />
<div id="sfb"></div>
</div><br />
<div class="q">
<div id="ta3b8" class="block">2 <span style="color">TEXT2</span>
</div><br />
T<input type="radio" name="key3b8" value="0" id="ta0q3" />
F<input type="radio" name="key3b8" value="1" id="ta1q3" />
<div id="sfb"></div>
</div>
</div>
</body>
</html>
XSLTで、入力ファイル全体を含むIDテンプレートを作成し、必要な変更を加えようとしています。私は最初の仕事をすることができます-
<xsl:template match="xhtml:div[@id='ta12']">
<xsl:attribute name="class">pa</xsl:attribute>
<xsl:attribute name="value">10</xsl:attribute>
</xsl:template>
出力では、必要なDivタグが生成されますが、<div class="iDev">
タグは削除されます。誰かが与えられた入力から望ましい出力を生成するための解決策を教えてもらえますか?ありがとう!