探検


XSL/XSLT

1名無しさん@お腹いっぱい。
垢版 |
01/09/05 10:49ID:dYMWGvtU
語ろう。ていうか教えて。
337nobodyさん
垢版 |
05/01/30 14:52:43ID:0RSaGusl
xmlをエクセルから作ってるんですが、日付が1900年形式でだされてしまいます。
それを表示する際に、dd-mmm-yyのフォーマットで表示したいんですが、どうすればよいでしょうか?

338nobodyさん
垢版 |
05/01/30 20:37:49ID:0RSaGusl
http://exslt.orgのテンプレート使ってやってみたんですが
すごい遅くなりました。前もってデータを変換してXMLをつくった
方が良さそうです...
339nobodyさん
垢版 |
2005/04/09(土) 23:05:41ID:0FjmIeSR
ノード名じゃなくて値がQNameのときに、それが特定のNSに属してるかってどうやって判断できる?

<先祖のどこか xmlns:x="http://pc8.2ch.net/test/read.cgi/php/">
...中略...<ここ この属性の値をチェックしたい="x:999654569"/>

node系関数のnamespace-uri()は値は見れないし、
string系の関数じゃ、xが本当にhttp://pc8.2ch.net/test/read.cgi/php/なのかわからん。

ずうっと名前空間宣言を全部フォローして自分で覚えとくしかないのか?
340nobodyさん
垢版 |
2005/04/21(木) 17:08:59ID:???
XMLもXSLもXSLTも何も知りません。


Aに1・2という情報?属性?を付けて
Bに2・3を付けて
Cに1を付けて


1が付いているのはA・C
2が付いているのはA・B
3が付いているのはB

というように表示するにはどうすればいいでしょう
341nobodyさん
垢版 |
2005/04/21(木) 18:15:48ID:???
>>340
> XMLもXSLもXSLTも何も知りません。
勉強しろ。アフォか。
342nobodyさん
垢版 |
2005/04/21(木) 22:02:56ID:???
System.out.println("1が付いているのはA・C");
System.out.println("2が付いているのはA・B");
System.out.println("3が付いているのはB");
343nobodyさん
垢版 |
2005/04/21(木) 23:30:22ID:???
いや>>340的にはこっちのほうがわかりやすかろう。

MsgBox "1が付いているのはA・C", vbInformation
MsgBox "2が付いているのはA・B", vbInformation
MsgBox "3が付いているのはB", vbInformation
344nobodyさん
垢版 |
2005/07/29(金) 15:21:12ID:???
デフォルトの名前空間が指定されている時、プレフィックスの無い Element は XPath でどう表現すればいいの?

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="design.xsl"?>
<hage:root xmlns="http://example.com" xmlns:hage="http://example.com/hage/">
<item1>あいうえお</item1>
<item2>かきくけこ</item2>
</hage:root>

こんな XML から "あいうえお"を取り出したいんだけど /hage:root/item1 じゃうまくいかないみたい。
345nobodyさん
垢版 |
2005/08/04(木) 10:02:40ID:???
スタイルシート側(desin.xslのことか?)の名前空間の設定はどうなってる?
携帯だからアドバイスしづらいな…。

まあ多分スタイルシートではxmlns="XHTMLのURI"とかやってると思う。
(これ自体は問題ないし下手にprefixつけるとUAが出力結果をXHTMLとして認識できない。)
でもこの場合あんたのスタイルシート内のXpath式内でitem1を指定しても
それはXHTMLでのitem1要素を指定していることになっている。
もちろんあんたはそんなもの扱った覚えは無いだろうしXHTMLにもそんな要素はない。
正しく処理させるには名前空間について勉強してくれ。
ソースXML文書のprefix無い方の名前空間のURIを$aとおくと、
スタイルシート側にxmlns:omanko="$a"を書き加えXPathではomanko:item1と
指定すればいい。xsl:の部分とかも不都合があればばんばん書き換えればいいから。

携帯からだから妙ちくりんな書き方になったが頑張ってくれ
んじゃ
346nobodyさん
垢版 |
2005/08/14(日) 13:37:07ID:XDX8Ip5H
質問です。

UTF8で配信されるXMLをSHIFT_JISでHTML化したい
場合は

@JAVAのXMLパーサーとか使う
AperlとかphpでSOAP
なんていう方法しかありませんか?

現在はXSLTで簡単にスタイルシートあててやってますが
SHIFT_JISで出力するのは無理ぽ。。です。
どうにか方法はありますのでしょうか。。

携帯サイトを運営しているのですが
UTF8じゃ文字ばけするぞゴラァ!という
クレームが多くて困ってます。
347nobodyさん
垢版 |
2005/08/14(日) 15:10:24ID:???
>>346
XSLTのoutput要素のencoding属性使ってもうまくいくと思う。
まぁ、XMLパーサ使ってフィルタプログラム作成するなり、既存のフィルタツールなり使ったほうが
柔軟性はあるが。

<<サンプル>>
■data.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="data.xsl" ?>
<root>
  <data>あああ</data>
  <data>いいい</data>
</root>

■data.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" encoding="Shift_JIS" />
  <xsl:template match="root">
    <html><head><title>utf8->SJIS</title></head><body>
      <xsl:for-each select="data">
        <xsl:value-of select="text()" /><br />
      </xsl:for-each>
    </body></html>
  </xsl:template>
</xsl:stylesheet>
348nobodyさん
垢版 |
2005/08/14(日) 18:40:08ID:???
>>347

ご丁寧に有難う御座います。
<xsl:output method="html" encoding="Shift_JIS" />
なんてタグがあるなんて知りませんでした。。orz

早速、その方法を試してみました。

結果報告

@PCブラウザで見る(IE)
ホワイトアウトしてしまいました。
右クリでエンコード指定でシフトジスにすると表示されました。

A元からUTF8対応携帯で見る
文字化けしてしまいました。

Bシフトジスしか対応していない携帯で見る
うまく表示されるようになりました。

つまり 今まで見えてた@Aは見えなくなりましたが
Bは見えるようになりました。

恐らくブラウザ側ではUTF8として認識しているためだと
思います。

素直にphpのxmlパーサーとかでやりつかね・・・
(php5入ってないので・・・SOAP無理ぽ)

349nobodyさん
垢版 |
2005/08/14(日) 18:50:00ID:???
>>348
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
を挿入してみたらどうですかね。
350nobodyさん
垢版 |
2005/08/14(日) 19:36:51ID:???
>>348
phpでサーバサイドでのXSLT変換か。取りあえず、UTF-8からShift_JISへの変換はできたみたいだね。

phpの話になってスマンが、もしかして、header('Content-Type: text/html; charset=UTF-8');とかなってる?
header('Content-Type: text/html; charset=Shift_JIS');にしてみたら、もしかしたら動くかもね。
351nobodyさん
垢版 |
2005/08/14(日) 22:31:27ID:???
>>349
>>350

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
もやってみましたが、同様の結果でした。

どうもXSLTだけでの解決は難しそうなので
PHPでやってみます。

変更できたらまたご報告します。

(ちょちょっとPHPのXMLパーサ関数でやってみましたが、できそうです。)
352344
垢版 |
2005/08/17(水) 20:33:45ID:???
>345
わざわざ携帯から長いレスをサンクス
俺のレスの前が3ヶ月前だったので回答は期待できないと思ってスレみてなかったよorz

結局質問してから別の場所で答えを見つけたんだけど、
XSL で XPATH 書いても XSL で定義した既定のネームスペースは XPath には適用されないってことなんだよな。
なんでそんな変な仕様なのか理解に苦しむけど。
てことで、 XML の既定のネームスペースを XSL 側では Prefix 付きで定義することで解決しました。
353nobodyさん
垢版 |
2005/08/18(木) 19:39:40ID:???
ちょっとYOUはまだ勘違いしてるかも…。そこらへんはXSLTはまともな仕様でつよ。
もっと名前空間のよさを感じてちょうだい!!!!

そして私は
354344
垢版 |
2005/08/18(木) 22:02:59ID:???
ttp://www2.xml.gr.jp/log.html?MLID=xmlusers&N=5831
あたりを見て >352 のような結論に至ったわけだが、なんか勘違いがある?と思って
改めてリンク先のスレッドを読んでると
ttp://www2.xml.gr.jp/log.html?MLID=xmlusers&N=5842

> さらに、XPath式中のQNameを展開するときには、以下のルールが成り立ちます。
> 2. プリフィックスがついていない場合、ネームスペースURIはnullになる。
とあるな。確かに勘違いしてたかも。

> そして私は
続きが気になるよ(´・ω・`)
355初心者
垢版 |
2005/09/04(日) 03:53:09ID:???
どうか教えてください。
AWSでxsltを始めたばかりです。

<img>
<xsl:attribute name="src">
<xsl:value-of select="aws:MediumImage/aws:URL" />
</xsl:attribute>
<xsl:attribute name="width">
<xsl:value-of select="aws:MediumImage/aws:Width" />
</xsl:attribute>
<xsl:attribute name="height">
<xsl:value-of select="aws:MediumImage/aws:Height" />
</xsl:attribute>
<xsl:attribute name="alt">
<xsl:value-of select="$amazon_item_name" />
</xsl:attribute>
</img>

とすると、<img src="http://images.amazon.com/images/P/xxx.jpg" width="xxx" height="xxx" alt="xxx">になってしまい、閉じタグをいれることができません。
xsltでどう指定すると閉じタグをいれることができるのでしょうか?
356nobodyさん
垢版 |
2005/09/04(日) 10:59:31ID:???
<xsl:output method="xml"/>
をxsl:stylesheetの直下に入れる、かな。
XHTMLでないHTMLとして出力されていると思われ。
357初心者
垢版 |
2005/09/05(月) 02:29:25ID:???
>>356
どうもありがとうございます。
おっしゃる通りの方法でできました。

ただ、新しい問題が発生しました。
お付き合いいただけましたら嬉しいです。

xslt で出力される html は単独の html ではなく
ある html ファイルの <body> 内に include させたいと考えています。

今までは <xsl:output method="html" /> としていて、問題はありませんでしたが
<xsl:output method="xml" /> や <xsl:output method="xhtml" /> にすることにより
xslt によって出力される html の1行目には <?xml version="1.0" encoding="UTF-8"?>
が入ってしまうようになってしまいました。

つまり、<body> 内に <?xml version="1.0" encoding="UTF-8"?> が入ってしまいます。
文法的には問題ないようですが、なんだか気持ち悪いです。

xhtml や xml で出力するのではなく、text みたいな形で出力した方が適当でしょうか?
358初心者
垢版 |
2005/09/05(月) 02:47:17ID:???
ゴメンナサイ。
ググったら見つけました。

<xsl:output method="xml" omit-xml-declaration="yes" /> とすると、XML 宣言をしないようにできるようですが
実際には出力されてしまいます。
なにかおかしいですかね?
359nobodyさん
垢版 |
2005/09/10(土) 01:33:29ID:???
どっちでもいいけど
alt="{$変数名}"
とは書かないの?
call-templateする予定があるとか??
あと最初以外にXML宣言入るのは文法の問題あるよ。
ただUAが無視してくれているだけだけど。
360nobodyさん
垢版 |
2005/09/29(木) 03:07:41ID:???
age

どなたかXSLT2.0の話でも…
361nobodyさん
垢版 |
2005/09/29(木) 11:45:59ID:???
XSLTとDSSSLのいいとこどりみたいなXSieve
http://xsieve.sourceforge.net/
362nobodyさん
垢版 |
2005/10/01(土) 21:07:44ID:???
今アマゾンウェブサービスでXSLファイルを書いてるのですが
何故かVersion=2005-09-15だと、StyleにXSLファイル指定してもうまくいきません。
AWSでXSLやるときの条件みたいなものって何かありますか?
363nobodyさん
垢版 |
2005/10/04(火) 17:41:50ID:otfuFaaW
XSLTを書いていると、かなり長くなってしまったんですが、XSLTファイルをモジュールや関数みたいに分割することはできますか。
仕様書をみたけど、それらしい機能が見つかりませんでした。
364nobodyさん
垢版 |
2005/10/04(火) 21:01:50ID:???
xsl:include, xsl:import
365nobodyさん
垢版 |
2005/10/04(火) 21:53:53ID:otfuFaaW
>>364
ありがとう。スタイルシートの取り込みってあったから、てっきりCSSのことだと思ってた。
XSLTファイルじたいがスタイルシートなのね。べんきょうになりますた。
366nobodyさん
垢版 |
2005/10/15(土) 16:29:33ID:dOz9BDB0
XSLについて質問です。
DBから取得したデータをXMLに出力し、それをXSLTでXSLに変換かけたいと思ってます。
そこで下記のコードなんですが

<A>
<B key="test1" value="aaa1" />
<B key="test2" value="aaa2" />
</A>
<C>
<D value="" />
</C>

Dのvalueの値にBのvalueの値を入れたいと思ってます。
イメージ的には、/D/@value = /B/key["test"]@value ?? なんですが、/A/B[1]/@valueのように
番号ではなくkeyの名前で参照するにはどうやればよいのでしょうか。

2005/10/15(土) 17:00:04ID:???
/child::A/child::*[attribute::key='str']/attribute::value

でいけると思われ。
(child::は省略可、attribute::は@に置換可)

結論を言うと、XPathの勉強をおすすめする。
368訂正
垢版 |
2005/10/15(土) 17:04:51ID:???
child::*はchild::Bにした方がいいかもしんね。
strにはkeyの値を入れるんだよ。
369nobodyさん
垢版 |
2005/10/15(土) 21:29:57ID:???
出来ましたありがとうございます。
本来なら勉強しなきゃいけないんですが、助かりました。
370nobodyさん
垢版 |
2005/10/17(月) 19:35:15ID:SiiJse0Y
ソースは
http://www.wakkaya.com/test/a.xml
http://www.wakkaya.com/test/a.xslです。

まず、
<data><a>あああ2003</a><b>21</b></data>
<data><a>あああ2004</a><b>30</b></data>
<data><a>あああ2005</a><b>14</b></data>
<data><a>いいい2003</a><b>30</b></data>
<data><a>いいい2004</a><b>45</b></data>
<data><a>いいい2005</a><b>80</b></data>
<data><a>ううう2003</a><b>99</b></data>
<data><a>ううう2004</a><b>77</b></data>
<data><a>ううう2005</a><b>46</b></data>

という感じのxmlがあります。
<a>に2005が含まれている箇所だけ抽出し、
<b>の大きい順に並べ替えるようにしてから番号を振るようにします。書くと

<xsl:sort select="b" order="descending" data-type="number" />
<xsl:if test="contains(a, '2005')">
<tr>
<td><xsl:number value="position()" /></td>
<td><xsl:value-of select="a" /></td>
<td><xsl:value-of select="b" /></td>
</tr>
</xsl:if>

という感じです。いざxmlを見てみると番号が1、2、3とならずに
2、4、9となるのです。どうやれば1、2、3と表示されますか?
どなたかご教授下さい。何卒宜しくお願い致します。
371nobodyさん
垢版 |
2005/10/17(月) 20:58:48ID:???
positionはfor-eachでselectした時点で決まるので、selectの時点で2005を含むかどうか調べる。

<xsl:for-each select="data[contains(a, '2005')]">
<xsl:sort select="b" order="descending" data-type="number" />
<tr>
<td><xsl:number value="position()" /></td>
<td><xsl:value-of select="a" /></td>
<td><xsl:value-of select="b" /></td>
</tr>
</xsl:for-each>
372370
垢版 |
2005/10/17(月) 23:18:37ID:???
>>371
うまくいきました!
本当に助かりました。有り難う御座います。
373370
垢版 |
2005/10/18(火) 08:05:21ID:???
連続質問ですみません。ソースは引き続き
http://www.wakkaya.com/test/a.xml
http://www.wakkaya.com/test/a.xslです。

今度は、<b>の中身が空の場合は表示しないようにしたいのです。

<xsl:choose>

<xsl:when test="b=''">
</xsl:when>

<xsl:otherwise>

<xsl:for-each select="data[contains(a,'2005')]">
<xsl:sort select="a" order="acsending" data-type="text" />
<tr>
<td><xsl:number value="position()" /></td>
<td><xsl:value-of select="a" /></td>
<td><xsl:value-of select="b" /></td>
</tr>
</xsl:for-each>

</xsl:otherwise>

</xsl:choose>

と、<a>順で並べ替えるようにしたのですが、しっかり空の要素も表示されてしまいます。
ちなみに、xsl:for-each 以下に xsl:choose を入れると、例のごとく番号が2から始まります。
対処法をお教え頂けませんでしょうか?本当に度々ですみません。
374nobodyさん
垢版 |
2005/10/18(火) 12:21:24ID:???
>連続質問ですみません。ソースは引き続き
とか書くと相手にされない件
375nobodyさん
垢版 |
2005/10/18(火) 16:18:41ID:EpeUQJeg
XSLTで変数使えるのは分かったんだけど、

「x=x+1」のような

インクリメントってできないの?
376nobodyさん
垢版 |
2005/10/18(火) 16:58:00ID:???
>>373
371と同じ。
377nobodyさん
垢版 |
2005/10/18(火) 23:23:32ID:???
>>375
マルチポストですね?
378nobodyさん
垢版 |
2005/10/19(水) 15:52:23ID:HblKNOzD
>>374
すみません。気を付けます。

>>376
アドバイスあるが等御座います。
もすこしfor-each やifやwhen勉強して出直してきます・・・
379nobodyさん
垢版 |
2005/10/19(水) 16:32:01ID:???
そっちよりもXPathを覚えるほうがいいかと。
380nobodyさん
垢版 |
2005/10/20(木) 13:50:48ID:???
>>379
仰せの通りXPathについていろいろ調べたことろ、

<xsl:for-each select="data[contains(name, '3') and uriage > 0 ]">

とするだけでNaNをはじくことが出来ました。
なんか凄い初歩的で恥ずかしい質問であるにもかかわらずお答え下さった皆様方、
この度は誠に有り難う御座います。

これを機会にXPathを精進・・
381nobodyさん
垢版 |
2005/10/22(土) 08:44:56ID:???
>>380
ていうかお前にはxmlはおろかwebそのもののセンスも無いからやめとけ
382nobodyさん
垢版 |
2005/10/22(土) 20:01:27ID:???
遅すぎるお前のレスもセンスがねーよw 2chやめろな。
383nobodyさん
垢版 |
2005/10/23(日) 01:17:07ID:???
ん?逆切れかマケウチ君
384nobodyさん
垢版 |
2005/10/23(日) 20:44:14ID:???
>>380
低脳が。センスのないHPもさっさとたたみな
キモイんだよ、デザインが
385nobodyさん
垢版 |
2005/10/24(月) 09:48:44ID:3//Wc9qN
HPって「たたむ」って表現するんだ・・・初めてしったよ
386nobodyさん
垢版 |
2005/11/11(金) 13:59:20ID:nEB8ZVf7
xreaでサーバーサイド変換て出来るんですか?

http://www.atmarkit.co.jp/fxml/tecs/006stylelink/06.html

を試してみようと思いましたが

http://sb.xrea.com/showthread.php?t=5996&highlight=xsl

どう見ても無理です。

本当にありがとうございました
387385
垢版 |
2005/11/11(金) 14:02:26ID:???
>>386
と思ったらもうインストローリングされてました。
私の記述ミスです。

本年もよろしくご指導のほどお願いいたします
388nobodyさん
垢版 |
2005/11/11(金) 14:10:06ID:???
インストローリング の検索結果のうち 日本語のページ 約 286 件
389nobodyさん
垢版 |
2005/11/11(金) 20:58:02ID:???
ローリングストーンズのヴォーカル無い曲。
390nobodyさん
垢版 |
2005/11/17(木) 02:28:40ID:???
バージョン2が勧告候補になりますた。
早めに勉強しましょう。
391nobodyさん
垢版 |
2005/11/17(木) 08:43:17ID:???
>>390
新機能とか変更点を簡潔に説明したサイト教えてけれ。
392nobodyさん
垢版 |
2005/11/18(金) 17:50:43ID:???
http://pcweb.mycom.co.jp/news/2005/11/04/034.html
393nobodyさん
垢版 |
2005/12/13(火) 01:57:44ID:???
>>344
数ヶ月ぶりに自己レス

/[local-name()="root" and namespace-uri()="http://example.com"]/item1

でどうだろう?
394nobodyさん
垢版 |
2005/12/14(水) 09:14:43ID:???
>>393
いや、だから>>345がスタイルシートの中でURIが一緒な
任意のプリフィクスを付けろとアドバイスしてるだろう。
なんでそんな面倒なことするの。しかも間違ってるし。
395nobodyさん
垢版 |
2005/12/14(水) 11:59:03ID:???
>>393
まず名前空間から勉強し直せ、ゴラァァ!!
396nobodyさん
垢版 |
2005/12/15(木) 20:20:47ID:???
>>344を書いたの俺だけど間違っているかもしらん。すまん。
XPath式にてdefault namespaceを指定しようとしたら、
nullなnamespaceになるのをならないと勘違いしていた。
とりあえずXPath式内でdefault namespaceのnodesを指定したければ
default namespaceのURIを別のprefixにも指定すればOKだと思う.
(XMLでは一つのURIを複数のprefixに充ててはいけないルールは無い)

まあこんなnullpoな俺だがcandidateなXPath2.0のspecificationをプリントして見てます。

今のところlearnした事柄:
・やっぱり名前空間の仕組みはアレだからdeprecateらしい
・型についての概念が出てくる。XML Schemaの知識が必要。
・XPath2.0はXPath1.0のスーパーセットだお。つまり1.0の式が2.0でも通用するお。
・2.0は少なくともXSLT2.0とXQuery1.0で使用されるお。
・シーケンスっつーのはアイテムたちの順序ある並びだお
・アイテムというのはノードと、リテラルチックな”値”のことだお

もっとセンセーショナルな事実が解ったらまたカキコするお。
でも駄目人間の俺より仕様書を信用するべきだお。
またもや携帯からの書き込みだから妙なことになってるかもしらん。
バイバイ
397nobodyさん
垢版 |
2006/03/04(土) 02:07:19ID:c1CTCPap
某所より誘導されました。
XSLT(XPath)で、Textや属性のQNameってどうやって調べれば良いんでしょうか?
例えば、
<ns0:boards xmlns:ns0="http://2ch.net">
 <board nick="ns0:webprog"/>
 <board nick="ns0:tech"/>
 <board nick="ns0:unix"/>
</ns0:boards>
で、
 「値が、名前空間が"http://2ch.net"でローカル名が"webprog"の値を持つboard要素」って、
どうやって調べればよいのか…。
全然知らないんですがXPath1.0じゃだめでXPath2.0の●●じゃないと無理とかあるんでしょうか。
398nobodyさん
垢版 |
2006/03/04(土) 02:08:42ID:???
訂正
×「値が、…
○「属性値が、…
399nobodyさん
垢版 |
2006/03/04(土) 08:57:04ID:???
>>397

何故、属性値の内容が展開されるんだ?
基本的にはstringだろ?
400nobodyさん
垢版 |
2006/03/04(土) 09:38:14ID:???
>>397
詞ね

<xsl:template match="/boards/board[@nick=concat(name(namespace::*[.='http://2ch.net']),':webprog')]">
<xsl:value-of select="@nick"/>
</xsl:template>
401nobodyさん
垢版 |
2006/03/04(土) 09:45:21ID:???
/boards/ns0:boards/;
402nobodyさん
垢版 |
2006/03/04(土) 12:59:39ID:???
うひ(^_^;)
ありがとうございます。
頂いた答えをヒントにして、苦節1時間、やっと出来ました。

<xsl:template select="/ns0:boards/board/@nick[../namespace::*[local-name(.)=substring-before(string(../@nick),':')] and substring-after(.,':')='webprog']">
  <xsl:value-of select="."/>
</xsl:template>

しかし、なんでこんな普通の選択のためにゴリゴリ書くんでしょう…。
>>399が言ってることがまっとうで、
XSLT/XPath/XMLSchema?の仕様の方が逝かれてるのではないか、という気がしてきます…。
403nobodyさん
垢版 |
2006/03/04(土) 13:01:00ID:c1CTCPap
>>399

XMLSchemaではQNameという型があります。>>397のnickのように使われます。
よく?使われる例は、
<hoge xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <value xsi:type="xsd:string">123456789</value>
</hoge>
だと、/hoge/value の値は、文字列”123456789”で、

<hoge xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <value xsi:type="xsd:int">123456789</value>
</hoge>
だと、/hoge/value の値は、32bit整数 123456789 で、

<hoge xmlns:tns="http://www.2ch.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <value xsi:type="tns:code">123456789</value>
</hoge>
だと、/hoge/value の値は、名前空間http://www.2ch.netで定義されたcode型の123456789、
なんて事になります。

でも、その直感はあながち間違いでもないように思えるのは、>>402に書いたとおりです。
404nobodyさん
垢版 |
2006/03/04(土) 19:16:02ID:???
値がドキュメントの構成から離れて利用できないこと自体が逝かれてる。
よっぽどのアホがこんな仕様作ったんだろう。
405nobodyさん
垢版 |
2006/03/05(日) 07:39:58ID:???
>>403

なるほど、スキーマで使うのか
ボヘミアンな俺には縁が無さそうだが、
一つ勉強になった

でもよ、データ型が必要なら、それを前提としたもの、
例えば、XPath1.0より2.0を使った方がいいんじゃね?

貴族がボヘミアンを振る舞えったって、やっぱりぎこちないだろ
406nobodyさん
垢版 |
2006/03/05(日) 14:59:23ID:noB5/pAr
データ型というか、QNameだけ特におかしいんだよ。
QNameの例としてxsi:typeの例を挙げたのが誤解されたかもしれんが。

http://pc8.2ch.net/test/read.cgi/tech/1133280488/108

XPath2.0だと
http://pc8.2ch.net/test/read.cgi/tech/1133280488/105
みたいに簡潔に書けるの?
407nobodyさん
垢版 |
2006/03/05(日) 20:28:28ID:???
XPath1.0だどQName型と言う概念が無いから、string型で辻褄を合わせなきゃならんけど
2.0は型情報を前提としている貴族主義だから、QName型ならQName型で処理できるんじゃないかな。

...と言いつつ、俺もよく分からん。
でも、XSLT・XPath1.0ってのは「シンプル・イズ・ベスト」を信仰するボヘミアン派だから、
如何せんXMLSchemaとは相性が良くないと思う。
408nobodyさん
垢版 |
2006/03/07(火) 00:42:38ID:s8zBddvo
貴族と浮浪者、どちらになりたいか、って話?
409nobodyさん
垢版 |
2006/03/07(火) 06:40:25ID:???
他人と話がしたいなら一般的でない形容はやめたらどうだ?
410nobodyさん
垢版 |
2006/03/07(火) 08:07:09ID:???
XMLユーザの貴族とボヘミアンって一般的でないのか?
411nobodyさん
垢版 |
2006/03/07(火) 08:36:15ID:???
今すぐジャーゴンを使うのを止めろ
412nobodyさん
垢版 |
2006/03/07(火) 20:15:46ID:???
皆中国語使用推奨
413nobodyさん
垢版 |
2006/03/09(木) 23:33:25ID:dDByu5bB
XML 貴族 ボヘミアン の検索結果のうち 日本語のページ 約 510 件中 1 - 100 件目 (0.29 秒)
414nobodyさん
垢版 |
2006/03/10(金) 10:59:20ID:???
>>413
510件という数字は多いのか?少ないのか?
Googleまで持ち出して何が言いたいんだ?







……という風に突っ込まれたくなければ意図不明瞭な一行レスをやめろ。
415nobodyさん
垢版 |
2006/03/10(金) 11:15:50ID:???
自分の発言に自信が持てないから逃げ道を作ってるんだよ察してやりなよ
そしてスルーしてやりなよ
416nobodyさん
垢版 |
2006/03/10(金) 11:27:58ID:???
みんなは貴族なの?
オイラはどうしても「型情報」って奴についてけねえだけどな。
DTD+DateTypeで十分だと思うがな...
417nobodyさん
垢版 |
2006/03/10(金) 22:11:55ID:???
まぁついてこられない人が居るのは否定しないのが貴族
418nobodyさん
垢版 |
2006/03/18(土) 20:53:13ID:eqYBhKgI
今ASP.NETでRSSの読み込み・表示をしているのですが
RSS1.0はとりあえず表示できたのですが、RSS2.0が全然ダメです
XSLTファイルのRSS2.0を表示させるソースってどこか公開されていませんか?
419418
垢版 |
2006/03/18(土) 21:50:23ID:???
事故解決しました
420nobodyさん
垢版 |
2006/03/26(日) 05:28:41ID:96nmrOTO
XSLT の処理結果ってどうやって確認してる?

IE5.x の頃だったかは
http://www.microsoft.com/downloads/details.aspx?FamilyID=d23c1d2c-1571-4d61-bda8-adf9f6849df9&DisplayLang=en
入れればバリデーションと結果のソース表示も出来たんだが、IE6 になって
から出来なくなったのかな?
421nobodyさん
垢版 |
2006/03/29(水) 11:37:28ID:Bmnd//MP
<foo count="10" />

とある場合、特定の処理を @count 回ループさせたいんですがどうすれば良いんでしょうか?
ループカウンタ付きのループ for(i=0; i<@count; i++) みたいな感じなんですけど、<xsl:for-each> じゃ
要素とかの集合しか指定できないですよね?
422nobodyさん
垢版 |
2006/03/29(水) 18:54:30ID:???
>>421

「XSLT 再帰処理」でGoogle検索してみれ
423nobodyさん
垢版 |
2006/03/29(水) 19:18:29ID:Bmnd//MP
すげぇ、ループを再起呼び出しでやるとは気づかなかったw
424nobodyさん
垢版 |
2006/03/29(水) 23:46:49ID:???
こいつは関数型言語みたいなもんだから
むしろ再帰の方が自然なんだな
425nobodyさん
垢版 |
2006/03/30(木) 08:26:06ID:???
>>423
他の方法で、できんことも無いけど、再帰が真っ当。
これを制せば、XSLTをほぼ手中に入れられる。
426nobodyさん
垢版 |
2006/03/32(土) 21:43:59ID:rvS9DXBc
ファイルメーカーのアプローチってどう思う?
ウェブプログラミングにxsltって有効?
427nobodyさん
垢版 |
2006/04/02(日) 01:48:27ID:???
ファイルメーカーが何やってるか知らんが
静的な部分は XSL で、動的な部分は XML で作れるならデータ転送量を
最小限に押さえられるので有効だと思う。サーバの負荷分散にもなるし。
ただ未対応ブラウザに対応するなら逆に高くなるかもしれん。
428nobodyさん
垢版 |
2006/04/03(月) 20:37:14ID:???
拡張関数(?)のexsltで本日の日付を取得したいのですが
クライアントサイドの一般的なパーサは対応しているのでしょうか?
処理としては要素の日付と本日の日付を比較して過去の情報は隠すという動きをさせたいです。
exsltが無理ならスクリプトでやってみます。
429nobodyさん
垢版 |
2006/04/06(木) 09:20:31ID:???
>>428
クライアントサイドの一般的なパーサって、どんなん?
IEやMozillaに付いてくような奴だったら駄目じゃね?
430nobodyさん
垢版 |
2006/04/06(木) 20:40:45ID:???
>>429
それです。
431nobodyさん
垢版 |
2006/04/06(木) 20:45:52ID:???
IE の XSL 対応って 5.0 からだっけ? Mozilla はどこから対応してんの?
432nobodyさん
垢版 |
2006/04/07(金) 20:37:45ID:???
XML → HTML で © や   は XSL にどう記述したら良いの?
433nobodyさん
垢版 |
2006/04/07(金) 20:38:28ID:ds66Zruv
ありゃ、&copy; や &nbsp; は、です。
434nobodyさん
垢版 |
2006/04/08(土) 01:20:46ID:???
http://www.w3.org/TR/REC-html40/sgml/entities.html
ここを見て、copyなら&#169;, nbspなら&#160;と書くのが単純。
435nobodyさん
垢版 |
2006/04/08(土) 01:25:53ID:???
39
436nobodyさん
垢版 |
2006/04/09(日) 17:43:31ID:???
レスを投稿する


ニューススポーツなんでも実況