14歳の自分に衝撃の事実を告げてください

標準JavaAPIのXSLT(Transformerクラス)(実体はXerces)を使用して、
複数のXML文書からXHTMLを作成していますが、
作成されたXHTMLに、必要のないxmlns宣言が含まれてしまいます。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:hoge="http://hogehoge"
xmlns:hage="http://hagehage">
...いろいろ...
</html>

のような感じです。
このXHTMLの中に、もはやhogeやhageの名前空間の要素は存在していないのに書き込まれてしまいます(そしていらないです)。
おかげでxhtml1.0の妥当性が損なわれてしまっています。

どうやらXSLTのtemplateでmatchした時に挿入する要素に、matchした名前空間接頭辞宣言が付いてしまうようなのですが、これを回避する方法はありませんでしょうか。

質問内容が分かりにくそうなので、補足要求もどんどんお願いします。

A 回答 (1件)

ヒント:


exclude-result-prefixes
    • good
    • 0
この回答へのお礼

おおおーお久しぶりですhimajin100000さん。
まさにヒントというか答えそのものですね!
一瞬で見事解決です。
ありがとうございました。

お礼日時:2008/04/05 14:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報