我必須使用XSLT從一個XML(XHTML)文件轉換爲另一個XML文件。變換的規則是:使用XSLT將XML轉換爲XML(刪除,添加,更改)
<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我創建了一個身份模板,其中包括udes整個輸入文件,然後我試圖做所需的修改。我能夠做的第一任務副
<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">
標籤。任何人都可以告訴我從給定的輸入產生所需輸出的解決方案。感謝您!
[多於一個在XSLT屬性(與身份模板)更換更多]的可能重複(http://stackoverflow.com/questions/11642627 /替換多於一個屬性在xslt-with-identity-template) – 2012-07-31 12:18:59