XMLスタイルシートのtemplateタグは、以下のように書きますよね。
(xmlns:xsl="http://www.w3.org/1999/XSL/Transform"が宣言されているとする)
<xsl:template match="myns:example">
</xsl>
しかしこうすると、myns接頭辞のタグのみしかマッチしません。
どんな接頭辞でもマッチするようにしたかったので、
<xsl:template match="*:example">
</xsl>
としてみましたが、スタイルシートがコンパイルできないと言われてしまいます。
何か方法ないでしょうか。
あるいは何も方法がないのであれば、そのような意見もお願いします。
No.1ベストアンサー
- 回答日時:
これでいいのかは自信がない
==============Q3477885-1.xml(適用するXML)======================
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Q3477885.xsl" type="text/xsl" ?>
<foo>
<bar xmlns="himajin100000">へんなやつ(終帝)</bar>
<bar xmlns="himajin200000">キャット</bar>
<bar xmlns="himajin300000">エンリケ</bar>
<bar xmlns="himajin400000">マールバラ</bar>
<baz xmlns="himajin500000">カプリコーン</baz>
</foo>
==============Q3477885-1.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="xml" encoding="UTF-8" omit-xml-declaration="no" indent="yes" />
<xsl:template match="/">
<funya>
<xsl:apply-templates />
</funya>
</xsl:template>
<xsl:template match="*[local-name() = 'baz']" />
<xsl:template match="*[local-name() = 'bar']">
<fuga><xsl:value-of select="./text()" /></fuga>
</xsl:template>
</xsl:stylesheet>
=================Q3477885-2.xml(結果)==================
<?xml version="1.0" encoding="UTF-8"?>
<funya>
<fuga>へんなやつ(終帝)</fuga>
<fuga>キャット</fuga>
<fuga>エンリケ</fuga>
<fuga>マールバラ</fuga>
</funya>
わざわざご丁寧にXML、XSLT、そして結果まで載せて頂いちゃって。。
一応すべてのの名前空間のタグに対して操作することは可能なようですね。
ただし、templateタグの中でfor-eachするときにも、select="*[local-name()=element]'"といった感じで記述しないとマッチしてくれないみたいですね・・。
しかし答えとしては、「無理」というのを期待していて、無理ならしょうがないかーあきらめようと思っていたので、うれしい結果に終わってよかったと思っています。
himajin1000000さん、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Texに詳しい方よろしくお願いいたします 2 2023/01/16 22:25
- Excel(エクセル) エクセルの関数について 5 2023/01/26 15:26
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- HTML・CSS 疑似要素で背景画像に指定したSVG画像の色変更 2 2023/01/30 22:45
- HTML・CSS HPに文章で改行はすべてBRタグとかで改行しなきゃだめなのですか?改行が活きたまま書く方法ないの? 1 2022/12/03 21:00
- 出会い・合コン マッチングアプリについてです。 最近出戻りしてまたアプリに登録しましたが、退会する前にマッチした方と 2 2022/11/26 10:05
- その他(コンピューター・テクノロジー) ファイル名以外でも先頭を数字にしない方がよいのか 3 2022/08/06 02:19
- WordPress(ワードプレス) wordpress cocoon ヘッダーのフォント変換 2 2022/11/22 09:58
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XSLで、XMLの空タグを制御したい。
-
ノードの並び替え
-
タグの有無の判定
-
xslでの最小値、最大値の取得
-
xmlのテキストにリンクを張りた...
-
XMLのHTMLへの変換 (初心者)
-
CPUの考え方を教えてください ...
-
XMLで要素が記述された順番に意...
-
バッチファイルでテキストファ...
-
昔Winnyってありましたけど、あ...
-
あせんうぶり言語
-
VB6でXMLを作成しているのです...
-
SNMP リンクダウンとノードダ...
-
あるノードリストに、特定の名...
-
HTTPステータス 404 - There is...
-
コンテキストメニュークリック...
-
Listからのnull要素を削除方法は?
-
ルート要素ノードが2個ある場合?
-
ノードとは
-
このエラー、何とかなりません...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XSLで、XMLの空タグを制御したい。
-
タグの有無の判定
-
XSLでXMLデータをタブ区切りデ...
-
XSLTで固定長データファイルを...
-
XSL中の改行、タブを無効にした...
-
xmlのテキストにリンクを張りた...
-
重複するものを消したい
-
XSLTがブラウザで表示されません。
-
うまく表示されない
-
文字列の取得
-
xsl:param要素をxsl:templateの...
-
value-ofの値を属性値とするには
-
XMLをXSLを使いHTMLに変換した...
-
XMLから指定テキストのみを抜き...
-
ある文字列を含むノードが存在...
-
VBAからxml・スタイルシートを...
-
xsl、xpath式の書き方について
-
XSLで特定のタグだけを出力する...
-
XSL内でJavaScriptを記述し、Ja...
-
XSLTで直下のテキストのみ取得...
おすすめ情報