トップページphp
340コメント124KB

XML

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 NGNG
PHP で XML を利用するスレ

php Javaページより「XML関連情報」
http://www.cityfujisawa.ne.jp/~louis/apps/phpfi/xml/
0235nobody04/08/17 15:38ID:VjAEtycJ
すいません、ご教授ください。
XMLは勉強し始めたばかりでとんちんかんなことをいうかもしれませんが、
よろしくお願いいたします。

ファイルメーカーというデータベースソフトからデータを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を使ってエラーコードを書き出したいと考えています。

以下次のレスに続く。
0236nobody04/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を組まねばいけない
のですが、どのようにすればこのままでも照合ができるようになるか
わかりません。

お手数ですが、お分かりの方がいらっしゃいましたらご教授いただけると
助かります。よろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています