XML勉強してみて間もない者の質問です・・よろしくです。
XMLで例えば
<oyaji:samp xmlns:oyaji="http://sampsampsamp.co.jp">
</oyaji:samp>
と宣言したとすると、XSLスタイルシートファイルではどのように
oyaji:samp
を識別すればいいのでしょうか。
上記で質問内容の分からなかった方のみ以下読んでください・・
例えば
//templating.xsl
<?XML宣言?>
<xsl:stylesheet xmlns:xsl="スタイルシートURI">
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template macth="samp">
</xsl:template>
</xsl:stylesheet>
とあったとすると、sampにはマッチしませんよね。
それをマッチさせる方法を教えてください。
No.1ベストアンサー
- 回答日時:
確認:
【入力】
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="fuga.xsl"?>
<oyaji:samp xmlns:oyaji="http://sampsampsamp.co.jp/">abcあいう</oyaji:samp>
【変換】
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
<xsl:template match="/">
<hoge>
<xsl:apply-templates />
</hoge>
</xsl:template>
<xsl:template match="samp">かきく<xsl:value-of select="/" /></xsl:template>
</xsl:stylesheet>
【結果】
<?xml version="1.0" encoding="UTF-16"?><hoge>abcあいう</hoge>
【変換改】
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:himajin="http://sampsampsamp.co.jp/">
<xsl:template match="/">
<hoge>
<xsl:apply-templates />
</hoge>
</xsl:template>
<xsl:template match="himajin:samp">かきく<xsl:value-of select="/" /></xsl:template>
</xsl:stylesheet>
【変換結果】
<?xml version="1.0" encoding="UTF-16"?><hoge xmlns:himajin="http://sampsampsamp.co.jp/">かきくabcあいう</hoge>
EXTYLEにて実験。
EXTYLEではなくIEなどのブラウザで表示結果を見た限り、お答えのようになりました。
質問したことについて、まとめるならば、ソース元XML文章の名前空間と、スタイルシートXSLの名前空間とで、同じものを使用すれば、結果的にそれをXPathで参照できるということでしょうか。
そのこと意外にも、XPathのルート参照の意味("/")についても、理解させてもらえる内容で、ためになりました。ありがとうございました。
あと、なんか修正されたみたいでしたが、どこが異なるのかわかりませんでした。私の知識の範外の事なのかもしれませんが・・。
教gooでは〆てから返信するようにとなっていますが、私の理解が間違っていたり、あとレス2の内容についてもできればお聞きしたいので、一応、〆るのは今から12時間以上経ってからにしようと思います。
No.3
- 回答日時:
>どこが異なるのかわかりませんでした。
私の知識の範外の事なのかもしれません結論から言えば俺の勘違いでした。全く違いはありませんorz
No.1の原稿作ってから、変換実行して、変換後のXMLの改行が見づらいことに気づき・・【原稿側だけ】XML,XSLT,結果全てを弄ったんですね。
原稿を弄った後に、変換かまして確認することなくNo.1に投稿してしまったんですよ
ところで
ここの回答システムって、URLが半角までってなっているようで、名前空間とか
<hoge xmlns="http://www.example.com/">abcあいう</hoge>
って書くと、見ての通り、">abcまでがURLだと思われてしまい、
ブラウザで見るとそこまでがリンクになってしまうんですね。
だから投稿した後、弄りミスったかな、と勘違いしたの。
(確認画面があるにも関わらず、確認せずに惰性でクリックするようになっているんで(^^;;;)
だから、きちんと変換ができるものを確認してから投稿しなおしてみたのがNo.2なのねorz
ところが、よく見たらNo.1と何も変わらないことに気づいちゃったのorz
そこまで気を使っていただいていたとは・・
それを考えると、質問内容の説明で手を抜いていたような気がしてきます。。
<hoge xmlns="http://www.example.com/">abcあいう</hoge>
については、こちらも初めて知りました。
よい例を見せてもらえたと思っています。
知りたいことも知ることができて、加えて楽しかったです。
ありがとうございました。
No.2
- 回答日時:
ごめんなさい。
おもいっきり捏造になってましたorz【入力】
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="fuga.xsl"?>
<oyaji:samp xmlns:oyaji="http://sampsampsamp.co.jp/">abcあいう</oyaji:samp>
です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 疑似要素で背景画像に指定したSVG画像の色変更 2 2023/01/30 22:45
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- 数学 この数学問題、スマートに解く方法を教えてください。 3 2023/01/26 23:17
- WordPress(ワードプレス) ワードプレスにて .xmlファイルの使い方をご存知の方、よろしくお願いいたします。 2 2022/09/30 00:55
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- その他(IT・Webサービス) 見たことのない形式で日付が表示されているのでそれを解析してほしい 3 2023/01/23 16:53
- HTML・CSS ホームページのHTMLサイトマップを自動作成する方法を探しています。 1 2023/05/17 21:36
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLとXSLTでリンクを張る方法
-
スタイルシートを使用したXM...
-
xmlのテキストにリンクを張りた...
-
XSLでXMLデータをタブ区切りデ...
-
XSLTで固定長データファイルを...
-
XMLのHTMLへの変換 (初心者)
-
東芝のDynabookなのですがアン...
-
XMLで要素が記述された順番に意...
-
CPUの考え方を教えてください ...
-
xmlファイルが上手にHTMLに変換...
-
XPathで途中に名前空間が設定さ...
-
XMLファイルの作り方がわかりま...
-
バッチファイルでテキストファ...
-
Visual Basic .NET の識別子は...
-
VB6.0でDOMを使用して...
-
VBでXMLファイルを作ると xmlns...
-
ルート要素ノードが2個ある場合?
-
VB6でXMLを作成しているのです...
-
4色定理はなぜグラフ理論で証...
-
UTF-8でエンコーディングとはど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XMLのHTMLへの変換 (初心者)
-
XSLで、XMLの空タグを制御したい。
-
タグの有無の判定
-
htmlに変換されない
-
スタイルシートを使用したXM...
-
xslでの最小値、最大値の取得
-
XSL内でJavaScriptを記述し、Ja...
-
ノードの並び替え
-
VBAからxml・スタイルシートを...
-
XMLをXSLを使いHTMLに変換した...
-
xmlのテキストにリンクを張りた...
-
重複するものを消したい
-
<xsl:key>とtopreceding-siblin...
-
XSL中の改行、タブを無効にした...
-
スタイルシートについて
-
XSLTにてタグ名を取得する方法
-
XSLTで直下のテキストのみ取得...
-
xsl:variable の使用方法
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
おすすめ情報