2008年02月23日 (土) 00:08 | 編集
Google Maps APIのデータはXML形式で保存するのが普通のようです。このXML(Extensible Markup Language)というのは、データ保存の方法で、ホームページを記述するhtml(Hyper Text Markup Language)とよく似ていますが、ちょっと違います。
htmlは、例えば、以下のようにタイトルの場合、タグに書式が記述できます。
<FONT size="5" color="#0000ff">○○のウェブ</FONT>
XMLは、タグで囲んだものは、内容のみの要素ですし、タグは要素がどういうものかを示すラベルのような物です。
<web>○○のウェブ</web>
書式などは、XSLTという形式のファイルで別に定義するようです。
PHPでXMLを扱うために、以下の「PHP5 & XMLによるWebサービス構築」を参考にしました。
htmlは、例えば、以下のようにタイトルの場合、タグに書式が記述できます。
<FONT size="5" color="#0000ff">○○のウェブ</FONT>
XMLは、タグで囲んだものは、内容のみの要素ですし、タグは要素がどういうものかを示すラベルのような物です。
<web>○○のウェブ</web>
書式などは、XSLTという形式のファイルで別に定義するようです。
PHPでXMLを扱うために、以下の「PHP5 & XMLによるWebサービス構築」を参考にしました。
XMLの場合、タグ(上の例では、)はhtmlのように定まっていなく、自由につけることができるようです。
しかし、自分の場合、<:title>タグ、<address>タグ、<link>タグを使ったら、エラーが起きました。これは、プログラムで言う予約語にあたるようです。
タグで囲まれた要素の中に"&"や"<"や">"があるとエラーが起きます。この場合、"&"は"&amp"に、"<"は"&lt;"に、">"は、"&gt;"に変換して、要素を登録する必要があるようです。ここで、&は全角でなく、実際には半角で記入します。このような記述をエスケープというようです。
あと、タグで囲まれた中身がない時もエラーが起きましたので、要素の中身がない時は、"0"や" "としました。
いやなことに、XMLファイルの途中でエラーが発生すると、その後の処理が中断するようです。
ちなみに、このブログも、"<"や、">"などは、エスケープ処理が必要です。
しかし、自分の場合、<:title>タグ、<address>タグ、<link>タグを使ったら、エラーが起きました。これは、プログラムで言う予約語にあたるようです。
タグで囲まれた要素の中に"&"や"<"や">"があるとエラーが起きます。この場合、"&"は"&amp"に、"<"は"&lt;"に、">"は、"&gt;"に変換して、要素を登録する必要があるようです。ここで、&は全角でなく、実際には半角で記入します。このような記述をエスケープというようです。
あと、タグで囲まれた中身がない時もエラーが起きましたので、要素の中身がない時は、"0"や" "としました。
いやなことに、XMLファイルの途中でエラーが発生すると、その後の処理が中断するようです。
ちなみに、このブログも、"<"や、">"などは、エスケープ処理が必要です。