XSL/XSLT (558レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
260(2): 04/03/29 11:53 ID:??? AAS
namespaceというのは要素の苗字に当たります。
xmlns="外部リンク:www.w3.org"
と指定することは、この要素とその子孫要素の内プレフィックスの付いてないものの苗字は"外部リンク:www.w3.org"ですよと宣言することで、
xmlns:xhtml="外部リンク:www.w3.org"
と指定することは、この要素とその子孫要素のうちxhtmlというプレフィックスが付いているものの苗字は"外部リンク:www.w3.org"ですよと宣言することです。
ですから1番目のtest.xmlのhtml要素は外部リンク:www.w3.orgという苗字を持ったhtml要素ということになります。
一方2番目のtest.xmlのhtml要素にはxhtmlというプレフィックスが無いため苗字無しのhtml要素となります。
test.xslでは苗字無しのhtml要素にマッチするようになっているため1番目のtest.xmlにはマッチしませんが2番目のtest.xmlではマッチします。
解決するためにはtest.xslのxsl:template要素にxmlns="外部リンク:www.w3.org"と宣言を加えるか、
xmlns:xhtml="外部リンク:www.w3.org"と宣言を加えてxsl:templateのmatch属性を"xhtml:html"とします。
省1
263: 04/03/29 13:14 ID:??? AAS
続き
261 :nobodyさん :sage :04/03/26 13:27 ID:???
>>260
で、できた!ありがとう!
でも、なんでこうなるの?
XML側にネームスペースがなかったり、名前付けされてたらマッチして、
デフォルトネームスペースがあるとマッチしない理屈がわかんない。
仕様?バグ?ポインタだけでも教えてもらえるとありがたい。
あと、>>260さんは何で知ってるの?(まさか、これFAQ?)
264: 04/03/29 13:20 ID:??? AAS
以上削除前の263でした。
262 :260 :sage :04/03/26 14:48 ID:???
>>260 の訂正
>xmlns:h=".." は xmlns=".." にしておいて
>match="/html" あるいは match="html" などでもいいだろうけど。
>>261
test.xsl で xmlns:h="外部リンク:www.w3.org" が無い場合、
match="html" でマッチするのは
名前空間無し + "html"
という要素だと思う。
省15
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.014s