【XML】xmlns, XSLT, RelaxNG, JAXP, etc.【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/11/30(水) 01:08:08関連情報は、>>2-10位に適当に。
※RSSなどのWeb限定の話題は、Web板でどうぞ(XHTMLはローカルでも使うから可)。
前スレ? 【必須?】XML技術【使ってる?】
http://pc8.2ch.net/test/read.cgi/tech/1090253584/
0592デフォルトの名無しさん
2007/08/09(木) 20:48:290593デフォルトの名無しさん
2007/08/10(金) 09:41:00すいません。
xml用のアプリケーション(xml用でなくてもいいのですが)で、要素の検索とかしたいときに
xpath、xqueryを使いたいなと・・・
Xindiceはxpathしか対応していないらしいですね・・・
0594デフォルトの名無しさん
2007/08/10(金) 12:06:41>要素の検索とかしたいときにxpath、xqueryを使いたい
ここはそういうソフトを作りたい人がXML関連技術やAPIの話をするところだから、
出来合いの品の話(エンドユーザー向けのソフト話)ならスレチじゃない?
俺だったらそれくらい自分で作れって言うが。
0595デフォルトの名無しさん
2007/08/10(金) 22:36:270596デフォルトの名無しさん
2007/08/11(土) 17:58:010597デフォルトの名無しさん
2007/08/11(土) 18:00:55トラブルシュートが一切出来なくて終盤苦しむんだよなー。
周りを巻き込んで。
0598デフォルトの名無しさん
2007/08/11(土) 21:19:54例えば以下のような処理を期待しています。(当然エラーになりますが)
<xsl:for-each select="attr">
<xsl:attribute name="@name">
<xsl:value-of select="@value"/>
</xsl:attribute>
</xsl:for-each>
0599デフォルトの名無しさん
2007/08/11(土) 21:26:36じゃダメだっけ。
0600デフォルトの名無しさん
2007/08/11(土) 21:37:21ありがとう、できました!
参考書に載ってないから諦めてたんですが、
実は属性値 XPath でぐぐると出てきますね・・・
ネットよりショボイ参考書買っちゃったorz
0601デフォルトの名無しさん
2007/08/12(日) 02:31:240602デフォルトの名無しさん
2007/08/12(日) 09:41:42相当大変だからすでに実装されたライブラリを探す。
XQueryの実装ライブラリ探してますって話ならここだが、
XQueryが使えるソフト探してますは板すら違うかも。
XQueryってW3CのRI出てなかったけ?
0603デフォルトの名無しさん
2007/08/12(日) 22:45:11ttp://www.w3.org/XML/Query/#implementations
0604デフォルトの名無しさん
2007/08/13(月) 01:10:03例えば type や uuid などの属性名にはルールを設けるけど、
それ以外の属性は好きに書いていいよ。っという書き方です。
0605604
2007/08/13(月) 02:10:120606デフォルトの名無しさん
2007/08/14(火) 16:45:49schemaのrestriction用に変数や関数が使いたい。
xslやxpathの資産が何も引き継げないとは。。。
0607デフォルトの名無しさん
2007/08/14(火) 18:16:58> schemaのrestriction用に変数や関数が使いたい
ただでさえ特盛りのXML Schemaにそれつけたら
完璧なバリデータを書くのが不可能に近くなるぞ。
0608デフォルトの名無しさん
2007/08/14(火) 19:19:12大失敗したから目的ごとに別の仕様を作るようにしただけ。
以下、>>607。WXSなんてW3CのRIですら仕様のフルサポート出来てないけどアレが一番再現度高いんだから。
あれがほしいこれがほしい言ってたらSGMLの二の舞。
0609デフォルトの名無しさん
2007/08/16(木) 11:47:340610デフォルトの名無しさん
2007/08/16(木) 12:01:00いまじゃXMLのほうがはるかに複雑だよなぁ
0611デフォルトの名無しさん
2007/08/16(木) 15:25:56それでもまだXML自体はマシじゃなかろうか。
関連技術のカオスっぷりには閉口するが。
0612デフォルトの名無しさん
2007/08/16(木) 21:07:350613デフォルトの名無しさん
2007/08/16(木) 22:49:26enumeration?
0614デフォルトの名無しさん
2007/08/16(木) 23:38:230615デフォルトの名無しさん
2007/08/17(金) 13:13:22<a>
1111
2222
3333
</a>
値が
1111
2222
3333
になります。
↓で取れないですかね
1111
2222
3333
0616デフォルトの名無しさん
2007/08/17(金) 13:15:18<a>
1111
2222
3333
</a>
値が
1111
2222
3333
になります。
↓で取れないですかね
1111
2222
3333
0617デフォルトの名無しさん
2007/08/17(金) 15:58:55属性と要素の交換を可能にしたSGMLは見事に実装が困難になった訳だが・・・。
0618デフォルトの名無しさん
2007/08/17(金) 16:10:30> 1111
> 2222
> 3333
> になります。
ならないだろ。
\n
1111\n
2222\n
3333\n
になるはず。
0619デフォルトの名無しさん
2007/08/17(金) 17:35:45APIはなんですか?
そんなにマイナーなものですか?
JAXPもJDOM有名なのがいろいろあるのに
APIはなんですか?
結局実装次第でry・・・・
空白の扱いをxml側で指定がなければ事実上、空白をどう扱うかは実装依存だろ。
0620デフォルトの名無しさん
2007/08/17(金) 23:56:01>>611 は XML 仕様策定時に「属性などイラン。すべて要素にしる!」話が
結局そこまで踏み切れなかったことを言ってると思われ。
0621デフォルトの名無しさん
2007/08/18(土) 02:14:41もしくは文字列をDOMに変換する方法でもいいんですが。
0622デフォルトの名無しさん
2007/08/20(月) 12:12:46フォローサンクス。そゆことっす。なんで残したんだろ。
0623デフォルトの名無しさん
2007/08/20(月) 19:06:110624デフォルトの名無しさん
2007/08/20(月) 20:24:51テキストマークアップ言語として考えれば属性がないと不便極まりない
0625デフォルトの名無しさん
2007/08/20(月) 23:13:27アトリビュート付き文書を扱うためのフォーマットだ。
アップルはそこら辺分かってない。
0626デフォルトの名無しさん
2007/08/21(火) 02:59:46せめてXMLでもNETが使えたらなぁ
0627デフォルトの名無しさん
2007/08/21(火) 12:26:52テストデータを YAML で書いてたら
なんだコレ、XML にしろと言われて一悶着。
権力に負けた。
0628デフォルトの名無しさん
2007/08/21(火) 18:51:280629デフォルトの名無しさん
2007/08/21(火) 20:16:24そこを理解してない奴が居るとxmlかyamlで揉める。
0630デフォルトの名無しさん
2007/08/21(火) 20:44:120631デフォルトの名無しさん
2007/08/21(火) 22:42:00RSDはデータ記述フォーマットだが文章をヒアドキュメントとして埋め込めるからデータと文章を同列に扱いたいとき良いよ。
文書主体ならやっぱSGMLかXMLしかフォーマットがないけど。独自以外。
0632デフォルトの名無しさん
2007/08/22(水) 11:02:11commonsのconfigurationとjxpathです。
両方とも、最初の文字までがクリアされてしまいます。
0633デフォルトの名無しさん
2007/08/22(水) 21:44:17普通、API側にも空白制御を指定できるメソッドかなんかあるはずだけど、
高レベルAPIだと無いかな。リファレンス嫁としか言いようがない。
0634デフォルトの名無しさん
2007/08/23(木) 23:31:440635デフォルトの名無しさん
2007/08/24(金) 00:26:11それ固有の実装の話な。
ここでそんな話しても意味ないのは分かるかな?
0636デフォルトの名無しさん
2007/08/25(土) 04:59:17>RSDはデータ記述フォーマットだが文章をヒアドキュメントとして埋め込めるからデータと文章を同列に扱いたいとき良いよ。
RSDってこれかな?
ttp://dev.zeraweb.com/rsd-initial-announcement/
でもヒアドキュメントで埋め込んだ文章には<strong>や<em>といった要素を入れられるわけではないよね?
単なるテキストに過ぎない。
これだったらJSONやYAMLでよくね?特にYAMLならブロックテキストがあるし。
0637デフォルトの名無しさん
2007/09/01(土) 14:19:28ttp://www.geocities.jp/sakusyu2006/index1.html
ttp://www.geocities.jp/sakusyu2006/index4.html
0638デフォルトの名無しさん
2007/09/01(土) 14:44:02DOM3以前は実装依存だぞ。という事を示したのだが、それくらい読み取れないのか? 頭ワルッ
0639デフォルトの名無しさん
2007/09/19(水) 02:14:31]]> が入るかもしれない場合、可読性は捨てて全部エスケープするしかないですか?
0640デフォルトの名無しさん
2007/09/19(水) 02:47:27PIのdataに突っ込んでアプリケーション側で処理させれば良いじゃない。
0641デフォルトの名無しさん
2007/09/19(水) 03:08:540642デフォルトの名無しさん
2007/09/19(水) 08:36:42だからPIで良いよ。
0643デフォルトの名無しさん
2007/09/19(水) 13:07:010644デフォルトの名無しさん
2007/09/27(木) 23:37:51639じゃない俺が<?ここ?>になんでも含められるの??!と驚き
試してしまったので敗北感があります
0645デフォルトの名無しさん
2007/09/28(金) 04:30:43どうせエンコーディングが一致せずに
<?ここ?>
~~~~
Fatal Err: not well-formed. Line n, Col 3
ってオチだろ。文字化けするから↓か。
<??????>
_ _^
0646デフォルトの名無しさん
2007/09/28(金) 13:58:41人間がやろうとするにはあまりに単純処理だし、
単純処理の割に手間を食うので馬鹿馬鹿しい。
0647デフォルトの名無しさん
2007/09/28(金) 22:37:33それに、質問はエスケープしなきゃいけない文字がテキスト中に大量に入る可能性があって
CDATAセクションを使いたいけど]]>が入る可能性もあるから代替策が必要って話で
その方法がいくつもあるけど質問者が出てこないから話が代替策ないですか?って所で止まってるんだろう。
まだ、エスケープされた文字をどうするかの問題じゃない。
0648デフォルトの名無しさん
2007/10/31(水) 16:57:30バインディングツールとしてJiBXとどっちがいい感じか、使ってる方使用感などを教えていただけませんか。
0649デフォルトの名無しさん
2007/10/31(水) 19:10:520650デフォルトの名無しさん
2007/10/31(水) 21:43:57パーサーではStAXもサポートされたみたいですけど、どんな感じでしょうか。
0651デフォルトの名無しさん
2007/11/01(木) 01:21:380652デフォルトの名無しさん
2007/11/01(木) 17:12:210653デフォルトの名無しさん
2007/11/02(金) 19:43:14これどう?
すげー使いてー、どこぞで実装してんすかー
0654デフォルトの名無しさん
2007/11/02(金) 21:47:250655デフォルトの名無しさん
2007/11/03(土) 00:45:240656デフォルトの名無しさん
2007/11/04(日) 02:15:38けど、これの実装は知らん。
0657デフォルトの名無しさん
2007/11/05(月) 00:26:33http://nwalsh.com/docs/presentations/2007/xmlprague/
0658デフォルトの名無しさん
2007/11/07(水) 13:01:25いろいろと解説を読んだ感じでは、特別な理由がない限りは順序を指定する
xs:sequenceを使え、ということだと理解したんだけど。
ということは、そもそもXML自体が要素の順番を重要視する規格だということ
になると思うんだけど、そういう理解であってる?
0659デフォルトの名無しさん
2007/11/07(水) 17:39:15そんなことはないと思う。
単に要素の出現順序が決まっていれば処理が楽だからじゃないか?
0660658
2007/11/07(水) 18:08:16もちろん、処理が楽だからというのはそうなんだろうけど、世のパーサー実装がそれを
前提に書かれてるとしたら、俺のXML理解がかなり変わってくるので。
0661デフォルトの名無しさん
2007/11/08(木) 02:31:050662デフォルトの名無しさん
2007/11/09(金) 11:17:17データを解析するの?
0663デフォルトの名無しさん
2007/11/09(金) 11:54:00XML Spy, oXygenなんかにはそういう機能があったはず
フリーソフトウェアも探せばあるかもしれないね
0664デフォルトの名無しさん
2007/11/10(土) 00:45:230665デフォルトの名無しさん
2007/11/12(月) 03:56:16<url scheme="http">
<host>www.foo.com</host>
<port>80</port>
<path>/hoge/unko.txt</path>
</http>
<url scheme="mailto">
<mail>[email protected]</mail>
</url>
属性の値によって子要素の定義が変わるような定義を Schema で記述できるんでしょうか?
どう表せばよいか悩んでいます。
0666デフォルトの名無しさん
2007/11/13(火) 20:29:25ちょっと余計なものが付くがこれで良ければ。
<xsd:element name="url" type="urlType" />
<xsd:complexType name="urlType" abstract="true" />
<xsd:complexType name="httpType">
<xsd:complexContent>
<xsd:extension base="urlType">
<xsd:sequence>
<xsd:element ref="host" />
<xsd:element ref="port" />
<xsd:element ref="path" />
</xsd:sequence>
<xsd:attribute name="scheme" type="schemeType" use="required" fixed="http" />
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexTpe name="mailtoType">(略)</xsd:complexType>
<url scheme="http" xsi:type="httpType">
<host>www.foo.com</host>
<port>80</port>
<path>/hoge/unko.txt</path>
</url>
<url scheme="mailto" xsi:type="mailtoType">(略)</url>
xsi:typeが省略されるとurlTypeはabstractなのでエラーになる。
0667デフォルトの名無しさん
2007/11/13(火) 20:42:36なるほど、ベースを abstract で宣言しておいて、拡張のほうで "http", "mailto" を
fixed 指定にしておけば属性値ごとに中の定義が変更できるような使い方になりますね。
帰って試してみます。schemaType は string じゃダメなんでしょうか?
0668デフォルトの名無しさん
2007/11/13(火) 21:12:20schemeTypeはenumerationにしてたんだが行数の都合で省略したのを忘れてた。
もちろんstringでいいと思う。
0669デフォルトの名無しさん
2007/11/14(水) 04:02:31練習問題での自分の回答と巻末の模範解答が違うことがあるのですが、同じことができる
スタイルシートを作れていれば「正解」としていいのでしょうか?
たとえば、
<xsl:template match="car">
<car>
<xsl:attribute name="file">
<xsl:value-of select="img/@file"/>
</xsl:attribute>
<xsl:apply-templates select="name"/>
<xsl:apply-templates select="price"/>
</car>
</xsl:template>
とするべき(?)ところで、<car>のかわりに、<xsl:copy>と書いてしまったのですが、
XMLの理解の上では問題ありませんよね?
他にも
<xsl: copy-of select="."/>と書く方法と、
<要素>
<xsl:value-of select="."/>
</要素>
と丁寧に書く方法がありますが、XMLの勉強では好きな方選べばよいのかな・・・
0670デフォルトの名無しさん
2007/11/14(水) 07:14:27与えられた入力と求める出力(いずれもXMLか)を貼らないと
XSLT知ってる人でも答えにくいと思うぞ。
0671デフォルトの名無しさん
2007/11/14(水) 16:45:43悲しいけどこれってマジレスなのよね。
0673デフォルトの名無しさん
2007/12/01(土) 18:03:12ふーばー
おっぱっぴー</foo:bar>
みたいなのを、
<xhtml:div>ほげほげほげ<br/>
ふーばー<br/>
おっぱっぴー<xhtml:div>
みたいにしたいんだけど、どう書けばいいんでしょうか。
0674デフォルトの名無しさん
2007/12/01(土) 18:04:550675デフォルトの名無しさん
2007/12/01(土) 18:59:26とはいえ、データ構造から見直したほうがいいとおもうよ
0676デフォルトの名無しさん
2007/12/01(土) 19:11:18やってやれないことはないがあまりオススメしない。
HTMLにするならpreじゃいけないのか?
<xsl:param name="line.delimiter" xml:space="preserve">
</xsl:param>
<xsl:template match="foo:bar">
<xhtml:div>
<xsl:call-template name="substitute">
<xsl:with-param name="str" select="text()" />
</xsl:call-template>
</xhtml:div>
</xsl:template>
<xsl:template name="substitute">
<xsl:param name="str" />
<xsl:choose>
<xsl:when test="contains($str, $line.delimiter)">
<xsl:value-of select="substring-before($str, $line.delimiter)" />
<xsl:text disable-output-escaping="yes"><br /></xsl:text>
<xsl:value-of select="$line.delimiter" />
<xsl:call-template name="substitute">
<xsl:with-param name="str" select="substring-after($str, $line.delimiter)" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$str" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
0677デフォルトの名無しさん
2007/12/04(火) 00:05:29<a>
<elem-a/><elam-b/>
</a>
<b>
<elem-1/><elem-2/>
</b>
を
<c>
<elem-a/><elam-b/>
<elem-1/><elem-2/>
</c>
に書き換えたいのですが、
<template match="a|b">
<c>
<apply-template select="*"/>
</c>
</template>
とやったら(記憶で書いてるので細かい点、ちょっと嘘かも)
<c>
<elem-a/><elam-b/>
</c>
<c>
<elem-1/><elam-2/>
</c>
となってしまいました。どのように書けばよいのでしょう?
0678デフォルトの名無しさん
2007/12/04(火) 23:34:32outlineがexpansionStateに含まれているかどうかってどうすれば知ることができるんだろうか
0679デフォルトの名無しさん
2007/12/04(火) 23:42:40<a>と<b>の親にテンプレート適用して、
<a>と<b>の子とってくればいいんじゃなかろうか
0680デフォルトの名無しさん
2007/12/05(水) 00:35:14なるほどそう書くのですか。それで出来そうですね。
0681デフォルトの名無しさん
2007/12/05(水) 00:36:26outlineの親要素のローカル名がexpansionStateかどうかを調べればよいのでは。
もしexpansionState要素の子要素であるoutlineに何かしたいなら
マッチングパターンを変えてテンプレートを作成すればいい。
0682デフォルトの名無しさん
2007/12/07(金) 19:54:39xmlNodePtrからいちいちxmlDocPtr生成するの面倒い…
0683デフォルトの名無しさん
2007/12/10(月) 02:52:30<hoge>1 2.0 3.0</hoge>
のような。
xsd:pattern で正規表現を指定する他に方法ありますか?
0684デフォルトの名無しさん
2007/12/21(金) 12:52:44んーそもそも、XMLというかデータ構造的に、そうした型の設計は
好ましくない気がするんだけど、どうしてもそれじゃなきゃだめなのけ?
0685デフォルトの名無しさん
2007/12/21(金) 20:31:19XML 1.0 で定義されている文字を外れるコードが含まれると(例えば 0x1f 以下の
制御文字とか)エラーになってしまうようで、困っています。
この手の問題ってどうしたらいいと思いますか? とりあえず自前の文字参照みたいのを
定義して、かませようかと思っていますが...
0686デフォルトの名無しさん
2007/12/21(金) 20:41:320687orz
2007/12/21(金) 20:41:590688デフォルトの名無しさん
2007/12/21(金) 20:56:29年の瀬も近くてまったりしようと思ってたのに、いまさら自前のコードを起こして
テストするのが面倒でw XML の範疇でなんとかならないかと思って。
>>687
それは「文字」参照なんで、XML の範疇で文字として扱われていないコードに対しては
駄目みたいです、というのが自分の理解。ちなみに CDATA も同様。
0689orz
2007/12/21(金) 21:00:170690デフォルトの名無しさん
2007/12/21(金) 21:01:12巷の XML ライブラリってまだ 1.1 をほとんどサポートしてないですよね?
0691デフォルトの名無しさん
2007/12/21(金) 21:04:56はい、それもアリなんですが、可読性がなくなるのがちょっと不便というか...
その XML を生でみたいときもあるので。
0692デフォルトの名無しさん
2007/12/21(金) 21:08:12とか適当にでっちあげればいいじゃん。
■ このスレッドは過去ログ倉庫に格納されています