XML
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGphp Javaページより「XML関連情報」
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/xml/
0181nobodyさん
03/12/11 18:39ID:NN15UKxr0182nobodyさん
03/12/14 11:24ID:zmlj92od<book>
<author id="1" name="jon">ANIMAL</author>
<author id="2" name="leon">FISH</author>
</book>
というXMLで指定したidのnameを取り出したいんですけど、
/book/author/@name[/book/author/@id = "1"]
とやってみたがダメでした。他にも色々試したんですが、どうすりゃいいのでしょう。
0183ヽ(´ー`)ノ
03/12/15 09:26ID:???predicate の使い方を勉強した方が良い予感。この辺から読め(・∀・)
ttp://www.asahi-net.or.jp/~ps8a-okzk/xml/xpath10/predicate.html
0185nobodyさん
03/12/20 11:22ID:???雑誌の記事とかに踊らされてるだけなんじゃないのか?
10年ぐらいしたら「ああ、XMLなんてのがあったね」みたいに
なりそうな気がするんだが。
0186nobodyさん
03/12/22 12:09ID:0MXzRaktVB+PHP+MSXMLで使ってるよ。
なんつーか、自分でテキストファイルの構文解析する処理を書かなくて良い
ってだけでずいぶん便利だよな。とくにテキスト処理が弱い言語だと楽。
あと、ツールが吐き出す中間ファイルをXMLにしとけば他の人間にツール作らせるときも
データの構造を説明しなくても「DocType見ろ!」で済むので助かる。
0188nobodyさん
03/12/27 18:25ID:JDXeuhRrttp://domain.com/gogogo/gogogo.xml
をアクセスしちゃうと、丸見えですが、
.htaccessとかつかっちゃうと
Redirect /gogogo.xml ttp://domain.com/index.php
にしても、
ttp://domain.com/gogogo/gogogo.xml
が使えなくなってしまい、
ttp://domain.com/index.php
をアクセスしても…
We encountered an error applying your XML template. Please retry.
とでちゃいます。
何とかできますか?
0189ヽ(´ー`)ノ
03/12/27 20:03ID:???自作のアプリケーションは全部データの保存とかは XML にしちゃった。
スケーラビリティが必要になってきたら RDBMS に変更すればいいしね。
んで、人間が読み書きする可能性があるファイルは yaml。
>>188
本質的に XML にまったく関係ありませぬ。
Web サーバの設定と、君が使ってる Web アプリケーション(index.php)に
大きく依存する。そっちのスレに行ってくれ。
あと、実在するホスト名を使うことは正直オススメしない。
example.{com,net,org,...} を使おう。
0190nobodyさん
03/12/27 20:03ID:???0193ヽ(´ー`)ノ
03/12/27 23:32ID:???一番手取り早くてスマートなのは xslt じゃない?
ちょいとオーバースペック気味な気がするが。
あとは API にそういうものがあると思う。
Perl だと XML::Filter::DetectWS とか。他の言語にもあるだろ。
0194nobodyさん
04/01/06 17:30ID:xRFLJh8q0195nobodyさん
04/01/18 02:56ID:gYjQDebJ0196nobodyさん
04/01/19 10:25ID:???検索したけど、ML で質問に答えてる人しか引っ掛からんかった。
0197nobodyさん
04/02/13 11:25ID:???./foo/bar[@hoge:attribute]
ってやってもなぜか駄目なんだけど、属性「hoge:attribute」を持っている
./foo/bar要素を取得するにはどうすれば良いんだ・・・。
0198nobodyさん
04/02/14 18:57ID:???0199nobodyさん
04/02/19 14:14ID:???調べてみたけどイメーヂが捕めない……。
0200nobodyさん
04/03/23 23:59ID:6bD0ZCwnnamespaceの有り/無しによってtemplateがapplyされない。助けて。
----- test.xsl -----
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="html"/>
</xsl:stylesheet>
-----------------
[実行例] $ xsltproc.exe -v test.xsl test.xml 2>&1 | grep xsltProcessOneNode
----- test.xml -----
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"/>
-----------------
xsltProcessOneNode: no template found for /
xsltProcessOneNode: no template found for html
このようにマッチしない。でも、namespaceを消したり名前を付けたりするとマッチする。
----- test.xml -----
<?xml version="1.0"?>
<html xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
-----------------
xsltProcessOneNode: no template found for /
xsltProcessOneNode: applying template 'html' for html
#現象が再現できる最小のソースなので、それに関しては突っ込まないで。
0201nobodyさん
04/03/24 22:06ID:???XSL/XSLT
http://pc2.2ch.net/test/read.cgi/php/999654569/
に移動します。
0202nobodyさん
04/04/03 15:13ID:SdrPGQ+vだれかおれしおしえろーー!
0203nobodyさん
04/04/09 19:45ID:???0204nobodyさん
04/04/12 00:42ID:???http://xml.amazon.co.jp/onca/xml3?t=webservices-20&dev-t=GTYDRES564THU&type=heavy&page=1&f=xml&locale=jp&KeywordSearch=Manic+Street&mode=music-jp
これを配列変数化するにはどうすればいいですか?
0205nobodyさん
04/04/22 15:24ID:???俺もどうすればいいか知りたい。
http://www18.tok2.com/home/koumori27/xml/index.html
のPHPDOMなんかどうだろう?
俺の場合は同サイトのPDSQLを使おうかと思うんだけど…。
0206nobodyさん
04/04/22 22:21ID:???あとは君の好きなようにやればいい
0207nobodyさん
04/04/23 16:39ID:???で、SAXを使って無理やりDOMっぽいことしようとしたけど、
xml_set_element_handler($xml_parser, $this->_startElement, $this-> _endElement);
とするとエラーになってしまう。
どうやらハンドラの呼び出し方が気に入らないらしいんだけど、
これはどうにかできないのかな?
0208ヽ(´ー`)ノ ◆.ogCuANUcE
04/04/23 17:29ID:???xml_set_element_handler($xml_parser, array(&$this, '_startElement'), array(&$this, '_endElement'));
てか、ドキュメントに書いてある。
> Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.
お前はどこに目ん玉が付いとるんかと小一時間問い詰めたい。
0209nobodyさん
04/04/23 17:55ID:???そこ読んだけど意味がよくわからなかったんだよ・・・
0210nobodyさん
04/04/30 23:36ID:G+Ai2Hl9---------------------------------------
#!/usr/local/bin/perl
use XML::Simple;
my $xs = new XML::Simple();
my $ref = $xs->XMLin('<opt><x>text1</x><member num="2">text2</member><member num="3">text3</member></opt>', ForceContent => 1);
my $xml = $xs->XMLout($ref);
print $xml."\n";
print $ref->{x}->{content}." ---1\n";
print $ref->{member}[0]->{content}." ---2\n";
print $ref->{member}[1]->{content}." ---3\n"; #●2
---------------------------------------
↓
---------------------------------------
<opt>
<member num="2">text2</member>
<member num="3">text3</member>
<x>text1</x>
</opt>
text1 ---1
text2 ---2
text3 ---3
---------------------------------------
となります。
●2の所で、その上の行のように配列でアクセスするのではなくprint $ref->{member}->{num}->{3}->{content}." ---3\n";こんな感じで、「numが3のもの」として取得したいのですが空白になってしまって取得できませんでした。
「numが3のもの」を取得するにはどのようにすれば良いのでしょうか?
http://cpan.uwinnipeg.ca/htdocs/XML-Simple/XML/Simple.html を読んでもわかりませんでした。
0211ヽ(´ー`)ノ ◆.ogCuANUcE
04/05/04 22:56ID:???てか、Perl の勉強しれ。
0212nobodyさん
04/06/03 13:39ID:yjN/eGjlxsltで属性を指定する方法は
ttp://634.ayumu-baby.com/xml/xslt_attribute.html
に書いてあったのですが、
閉じた具のない要素についてはどのようにすればいいのでしょうか。
<img>など
0213212
04/06/03 14:16ID:???でうまくいきました。すみません。
0214nobodyさん
04/06/04 08:58ID:???素敵な言い回しだなぁ。
0215nobodyさん
04/06/06 09:48ID:3eIUMHSR(xmlの内容)Booksという蔵書管理ソフトから書き出されたものです
<?xml version="1.0" encoding="UTF-8"?>
<definition type="Book Collection">
<definition type="Book">
<property name="Authors" type="string">作者名</property>
<property name="Format" type="string">フォーマット</property>
<property name="Genre" type="string">ジャンル</property>
</definition>
</definition>
これをxsltにおいて作者名(Authors)のみを取り出したい場合は
xsl:value-of select=
においてどの様な記述をすればいいのでしょうか?
昨日、xmlに触れ始めたばかりなのですが、
とりあえずどの様な形になるのか試してみたいものでお聞きしました。
0216nobodyさん
04/06/06 10:45ID:???取りあえずこんな感じ?
作者名が複数あるのなら、for-eachなり別のtemplateに分けてapply-templatesで呼び出す
なりしなければだめだけど。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="definition/definition/property[@name='Authors']/text()" />
</xsl:template>
</xsl:stylesheet>
0217nobodyさん
04/06/06 14:44ID:3eIUMHSRありがとうございます、できました。
パスと属性の指定がよくわからず苦労しておりました
精進せねば・・
0219nobodyさん
04/06/22 23:36ID:???0220kuni
04/06/29 15:48ID:y3qOC+kV0221nobodyさん
04/07/20 00:06ID:VPqSwsN/みたいな更新ツール検索エンジンみたいな
スクリプトってないのかねぇ。
あまりにも重いので、自前の作って、
クロール+インデックス+RSS化して、自分で楽しみたいが…
0222nobodyさん
04/07/20 15:30ID:???0223nobodyさん
04/07/23 23:36ID:???xmlで下記のような場合
<car>
<color>red</color>
<color>blue</color>
<color>white</color>
<color>black</color>
</car>
xsltで全てを取り出すのはどうすればよいのでしょう?
xsl:apply-templates selectを使ったり、
必要な回数だけxsl:value-of selectを書いても
最初の値しか取得出来ませんでした。
よろしければお願いします。
0224nobodyさん
04/07/24 06:56ID:???XSL/XSLT
http://pc5.2ch.net/test/read.cgi/php/999654569/
失敗したなりのxslを書いてくれないと、やりたい事がわからないよ。
0225nobodyさん
04/07/24 09:05ID:???それぞれの<color>の中身を取り出したいという意味だったら、
<xsl:for-each select="car/color">
...
</xsl:for-each>
でどうかな
0226223
04/07/24 11:22ID:???書き方が悪くて混乱させてしまいました。
私がやったら、どうやってもredしか取り出せなくて悩んでいました。
>>225さんのやり方で、とりあえず表示だけ出来るようにしたところ
<xsl:for-each select="car/color">
<xsl:value-of select="." />
</xsl:for-each>
で全て取り出すことが出来ました
完璧です。本当ありがとうございます。
こういう事がサラッと出るようになるまで、もっと勉強してきます。
0227nobodyさん
04/07/25 20:26ID:rv/tXLP7<xsl:template match="/">
<xsl:apply-templates select="car/color"/>
</xsl:template>
<xsl:template match="car/color">
<xsl:value-of select="text()"/>
</xsl:template>
の方が効率的だろうな。
初心者にありがちだけど、for-eachはあんまり使うもんじゃない。
0229nobodyさん
04/07/27 02:08ID:???0230nobodyさん
04/07/27 16:22ID:???0231nobodyさん
04/08/04 07:24ID:???1 :名無しさん@お腹いっぱい。 :2001/03/18(日) 02:50 ID:laaa63cU
PHP で XML を利用するスレ
php Javaページより「XML関連情報」
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/xml/
0232nobodyさん
04/08/06 22:46ID:???XMLに興味をもつ夏厨も居るんだな。
0233227
04/08/08 14:33ID:ZvMtZ/SUfor-eachが有効な状況もあるので、常にだめというわけではないけど、
コピペプログラムを助長するのあまりよろしくない。
templateはapply-templatesやcall-templateで他の場所からも使いまわせるし、
importを使ったモジュール化の恩恵が受けられるので、積極的に使うのが良い。
他のテンプレートとの競合に注意しないといけないという欠点もあるけどね。
0234nobodyさん
04/08/08 19:38ID:???WebProgramming では使わねえからなあ > XML
0235nobody
04/08/17 15:38ID:VjAEtycJXMLは勉強し始めたばかりでとんちんかんなことをいうかもしれませんが、
よろしくお願いいたします。
ファイルメーカーというデータベースソフトからデータをXMLで取得し、
そこから必要なデータをXSLTで書き出したいと考えています。まず、
ファイルメーカーから取得するXMLのフォーマットは以下のようなものです。
<?xml version="1.0" encoding="UTF-8"?>
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>
<PRODUCT BUILD="2004/2/10" NAME="FileMaker Pro Web Companion" VERSION="6.0Jv3"/>
<DATABASE DATEFORMAT="yyyy/M/d" LAYOUT="web" NAME="Service.fp5" RECORDS="9" TIMEFORMAT="k:mm:ss"/>
<METADATA>
<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Name" TYPE="TEXT"/>
<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Address" TYPE="TEXT"/>
</METADATA>
<RESULTSET FOUND="1">
<ROW MODID="10" RECORDID="1">
<COL>
<DATA>山田 太郎</DATA>
</COL>
<COL>
<DATA>東京都港区南青山</DATA>
</COL>
</ROW>
</RESULTSET>
</FMPXMLRESULT>
このXMLからXSLTを使ってエラーコードを書き出したいと考えています。
以下次のレスに続く。
0236nobody
04/08/17 15:39ID:VjAEtycJ<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns="http://www.filemaker.com/fmpxmlresult" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="ERRORCODE">
Error:<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
とりあえずこんな感じかなと思って動作させてみてもうまくいきません。
うまく照合できていないのか、Errorの文字列すら書き出されません。
いろいろ試してみて、XML内の、
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
のタグに問題があることがわかりました。このxmlnsの属性がついて
いるとデータの照合ができません。試しにこのxmlnsの属性を外して
動作させると、思うように動作させることができました。
元データのXMLは自動的にデータベースから吐き出されるもので、
こちらで任意にフォーマットを変えることはできません。
なのでここにxmlnsの属性があることを前提にXSLTを組まねばいけない
のですが、どのようにすればこのままでも照合ができるようになるか
わかりません。
お手数ですが、お分かりの方がいらっしゃいましたらご教授いただけると
助かります。よろしくお願いいたします。
0237nobodyさん
04/08/17 16:30ID:???http://archive.gingerall.cz/archives/public/sablot2003/msg00646.html
0239nobodyさん
04/08/27 22:03ID:???これから注目の技術の何位か(だいぶん後だけど)に、XMLが入っていた。
えー?そうかー?とあんまり知らないながら思って、
実際本を読んでみたら、
やっぱり具体的にどう便利なのかがイメージできなかった。
でもこのスレみたらスッキリしました。
使うところではそこそこ使いますよ、程度のもんなんだね。
注目の技術で挙げていた奴はXMLって言いたかっただけかよ。
0240nobodyさん
04/08/28 08:15ID:???0241nobodyさん
04/08/31 20:27ID:AfN26wuzそれしかないといってそれだけあるというような何ともいえない存在
0242nobodyさん
04/09/01 22:48ID:???0243nobodyさん
04/09/02 02:04ID:???CSVにしてたのを、XMLにした、ってだけだしなぁ。
0244nobodyさん
04/09/02 10:31ID:???0245nobodyさん
04/09/05 19:33ID:WCdq8mcyhttp://neta.ywcafe.net/000339.html
国民の税金で気象データの収集・解析までしておきながら、
気象庁の官僚の天下り先である
財団法人 気象業務支援センター
財団法人 日本気象協会
の利権保護の為、未だRSS配信が拒まれているのだ。
将来的に行われるであろう地震予知の情報も、有料で国民に販売するつもりだろうか?
0246nobodyさん
04/09/08 03:22ID:???0247nobodyさん
04/09/08 17:31ID:???普通は応用技術やライブラリ環境、APIの定義なんかもふくめた
複合技術をさします。
0248nobodyさん
04/09/10 04:03ID:???php4.3 の domxml で、 DomAttribute から名前空間接頭辞を得る方法って有りますか?
DomAttribute から名前空間接頭辞を得る方法を教えてください。
DomNodeの場合はDomNode->prefixで得られます。
DomAttribute->prefixは有りません。
0249nobodyさん
04/11/07 08:35:02ID:qkgPUNjxすみません。
CSVデータは
a b
あああ javascript:abc('URL')">
みたいなデータです。
b列でbuttonを使って、
onclick=b列
みたいに表示したいのですが、分かる方いらっしゃいませんでしょうか?
よろしくお願いします。
0250nobodyさん
04/11/07 12:25:42ID:???0251nobodyさん
04/11/07 13:18:25ID:???http://pc5.2ch.net/test/read.cgi/db/1057136328/
0252nobodyさん
04/11/07 17:23:42ID:qkgPUNjx質問は別にcsvでもxmlでもよさそうな感じだと思うので、
分かる人いらっしゃいましたらお願いします。
0253nobodyさん
04/11/07 18:30:17ID:???全く理解できないんだが。
0254nobodyさん
04/11/07 19:36:58ID:???まずCSVデータをXML整形式に変換するのだ。
しかるのちにその XML を XSLT で button に変換する。
これで完璧。
0255nobodyさん
04/11/08 12:55:53ID:???http://members.jcom.home.ne.jp/jintrick/Personal/d20033f.html#d10_4
@* を略さない形が attribute::* であると知らないことで起きうる弊害って何があるかな?
0256sage
04/11/11 21:31:30ID:PArZy+Mkでは、@* をどう理解しているの?
このことを知らないで、
axis, node tests, predicate, location steps, location path, XPath expressions
などをちゃんと説明できる?
説明できないなら、理解できてないということで、
理解できてない人が使いこなせるわけがない。
弊害があるかどうかどころの問題じゃないと思うんですが。
0257nobodyさん
04/11/11 22:19:51ID:???ス ク ス _ | | │ // ス ク ス | | | //
/ ス ─ | | ッ // /ス _ | | ッ.//
/ _____ // / ― //
. / l⌒l l⌒l \ )) ____
. / / ̄| ,=| |=、| ̄ヾ / ____ヽ
/ ̄/ ̄. ー'●ー'  ̄l ̄ | | /, −、, -、l ))
| ̄l ̄ ̄ __ |.  ̄l ̄.| _| -| ,=|=、 ||
|. ̄| ̄ ̄ `Y⌒l__ ̄ノ ̄ (6. ー っ-´、}
ヽ ヽ 人_( ヾ ヽ `Y⌒l_ノ
>〓〓〓〓〓〓-イ /ヽ 人_( ヽ
/ / Θ ヽ| /  ̄ ̄ ̄ ヽ-イ
0258257
04/11/11 22:20:20ID:???0261256
04/11/17 14:47:17ID:???> 理解できない ⇒ 使いこなせない
ではなくて、
理解できてない ⇒ 使いこなせない
なのですが、言いすぎでしょうか?
理解の度合いに比例してうまく使いこなせるというのは、
自明だと思うのですけどね。
0262257
04/11/18 03:13:46ID:???0264nobodyさん
04/11/20 03:55:04ID:Vj6p7EJvいまさらながら技術革新はやすぎ
0265nobodyさん
04/11/20 05:44:32ID:???俺もそう思う
>>264
けど2000年ぐらいの技術革新に比べたら
最近の革新ってそんなになくね?
驚くような新技術がここずっと出てない
0269nobodyさん
04/11/22 06:25:18ID:???漏れは>>265の言ってる2000年付近ではないが
初めてFlashみたときは衝撃だったな
あの頃ってまだ動的ページってBBSぐらいだったし
(139ポートで騒ぐ前ぐらいね)
静的ページばっかりしかないときに
BBSやチャットが出てきたときもそこそこ驚きだったけど
WEB以外ではやっぱCUIからGUIに環境を変えたときかな
Canbeとかでテレビやゲーム見れたときとか
XMLでいうとやっぱりAmazonのAWS(技術というか使い方)だけど
あの頃のように衝撃的なものはないかもしれない
0270nobodyさん
04/11/23 19:17:14ID:J+vSBPx/xsltで、配列内のidの物だけ表示するって出来ますか?
配列 ('001','004','005')
XML
<name id="001">田中</name>
<name id="002">佐藤</name>
<name id="003">山田</name>
<name id="004">関根</name>
<name id="005">山口</name>
0272nobodyさん
04/11/30 14:06:48ID:???> <http://www.w3.org/1999/xhtml:h1>
> <http://orz.cc/:h1>管理人</http://orz.cc/:h1>について
> </http://www.w3.org/1999/xhtml:h1>
>
> このように要素ごとにいちいち長い URI を書いてたら大変だから、
> 文書内で最初に出てくる要素 (ルート要素) で xmlns 属性を使って、
> 名前空間とそれと対応した略語をあらかじめ纏めて宣言しておく。
解りやすいとは思うんだが、あたかも <http://www.w3.org/1999/xhtml:h1> としても
Well-formed であるかのような言い回しは良くないな。
0273nobodyさん
05/02/22 04:04:14ID:IvyCqzTrXHTMLファイルをXSL変換したいのですが、
名前空間が違うせいかテンプレートを読んでくれません。
xhtmlファイル
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
xslファイルでは
<xsl:template match="html">
という感じで、特に名前空間を意識して作ってはいないです。
ちなみに、xhtmlファイルのxmlns="http://www.w3.org/1999/xhtml"を消せば期待通りに動くのですが、
これでは何の解決にもならないので…。
どなたか教えて下さい。
0274nobodyさん
05/02/22 12:42:06ID:???0275nobodyさん
05/02/27 10:28:50ID:???名前空間つきの XML を XSLT 内では接頭辞抜きで扱うことは出来ないよ。
<xsl:stylesheet xmlns:x="http://www.w3.org/1999/xhtml">
とでもして、
<xsl:template match="x:html">
0276nobodyさん
05/03/01 22:37:27ID:???鯖側でPHPでxmlをxsltでhtmlに変換するには具体的にはどんなものをどこに置けば良いのだろうか。
0279nobodyさん
NGNG質問です。
http://tools.live365.com/cgi-bin/api_station_status.cgi?member_name=bcname&password=bcpassword&action=listeners
上記記CGIにアクセスすると下記のXML形式のデータが出力されます。
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <LIVE365_API_STATION_STATUS_CGI>
<Code>0</Code>
<Reason>Success</Reason>
<Stream_status>OK</Stream_status>
<Current_listeners_reg>35</Current_listeners_reg>
<Current_listeners_pm>2</Current_listeners_pm>
<Current_listeners>37</Current_listeners>
<Rating>8.73</Rating>
</LIVE365_API_STATION_STATUS_CGI>
そして<Current_listeners>37</Current_listeners> の値だけHTMLもしくはJavascriptに出力したいのですがどのようにすればいいのでしょうか?
0280nobodyさん
2005/04/09(土) 18:36:30ID:???乱立しててよくわからん。
0281nobodyさん
2005/04/13(水) 05:25:47ID:63N0WCvJhttp://www.flickr.com/
有名なサイトですがXMLで書かれてますよね?
このシステム作れる人いますか?
■ このスレッドは過去ログ倉庫に格納されています