xhtml2.0をhtmlに変換したいと考えています。
----------------
[ 共通 essay.xsl ]
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="UTF-8" />
<xsl:template match="/">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title><xsl:value-of select="html/head/title" /></title>
</head>
<body>
<xsl:value-of select="html/head/title" />
</body>
</html>
</xsl:template> 15 </xsl:stylesheet>
-----------------
<例1>
[偽物xhtml2.xml]
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="essay.xsl" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml2.dtd">
<html xml:lang="ja">
<head>
<title>偽xhtml2.0</title>
<meta property="keywords"
xml:lang="ja">xhtml2.0</meta>
<meta property="dc:dreated" content="2008-01-06" />
</head>
<body>
<h>テスト</h>
<p>偽xhtml2.0</p>
</body>
</html>
---------------------------
<結果>
「偽xhtml2.0」と表示される
------------------------
上記のように、xmlns無しで書いた、偽物xml2.0は変換できるのですが、下記の
------------------------------
<正式xhtml2.xml>
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="essay.xsl" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml2.dtd">
<html xmlns="http://www.w3.org/2002/06/xhtml2/" xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2002/06/xhtml2/
http://www.w3.org/MarkUp/SCHEMA/xhtml2.xsd"
>
<head>
<title>正式xhtml2.0</title>
<meta property="keywords"
xml:lang="ja">xhtml2.0</meta>
<meta property="dc:dreated" content="2008-01-06" />
</head>
<body>
<h>テスト</h>
<p>正式xhtml2.0</p>
</body>
</html>
------
正式な形のxhtml2.0を共通xsltで変換しようとすると、うまくいきません。名前空間あたりが怪しいと思うのですが、どうすればうまく変換できるでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
俺の過去の回答から
http://oshiete1.goo.ne.jp/qa3362718.html
ソースコードから察してください
(ただ、教えてgooの仕様で,URIっぽい文字列の前後にをシステムが埋め込むため,
置換するなり,自分で書き直すなりしないと動きません)
実際には#2において,
<xsl:value-of select="ItemAttributes/Title" />
は上部の記述と合致していません。XPathに接頭辞つけないと
(#1のコードは上記の点を直せば正しい)
オマケ
http://okwave.jp/qa3477885.html
この回答への補足
すいません。解答を見ながらぐぐってみたんですが、いまだによく分かりません。
「xPathにはデフォルトの名前空間を取得する手段がない」ということは理解できましたが、「それでは、どうやって解決するか」が分かりません。もう少しヒントをいただけないでしょうか?
ググっていたら、なんとか力技で、xsltを
-----
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="UTF-8" />
<xsl:template match="/">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title><xsl:value-of select="*[local-name()='html']/*[local-name()='head']/*[local-name()='tit le']" /></title>
</head>
<body>
<xsl:value-of select="*[local-name()='html']/*[local-name()='head']/*[local-name()='title']" / >
</body>
</html>
</xsl:template>
</xsl:stylesheet>
------
上記のようにすることで、出力はできるようになりましたが、スマートな解決方法ではありません。もっとスマートな解決方法はないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
xmlファイルが上手にHTMLに変換...
-
xsltを利用して変換後改行が入る
-
XML、XSLTの適応エラー(IEから...
-
CPUの考え方を教えてください ...
-
XMLで要素が記述された順番に意...
-
バッチファイルでテキストファ...
-
昔Winnyってありましたけど、あ...
-
あせんうぶり言語
-
XSLで、XMLの空タグを制御したい。
-
VB6でXMLを作成しているのです...
-
SNMP リンクダウンとノードダ...
-
あるノードリストに、特定の名...
-
HTTPステータス 404 - There is...
-
コンテキストメニュークリック...
-
ノードの並び替え
-
Listからのnull要素を削除方法は?
-
ルート要素ノードが2個ある場合?
-
ノードとは
-
このエラー、何とかなりません...
-
html→xmlの変換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XML、XSLTの適応エラー(IEから...
-
xmlファイルが上手にHTMLに変換...
-
xalan でエラーが出るんですが。
-
XSLT
-
XSLTでの正規表現判定
-
不特定ノードに出現する同じタ...
-
XMLを勉強中なのですが・・・
-
XML+XSLTでの表示について
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
昔Winnyってありましたけど、あ...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
バッチファイルでテキストファ...
-
XMLで要素が記述された順番に意...
-
UTF-8でエンコーディングとはど...
-
あるノードリストに、特定の名...
-
google croud にあるファイルを...
-
XPathで途中に名前空間が設定さ...
-
同じタグ名の項目取得
おすすめ情報