2012-02-20 14 views
4

JAXBを使用してGoogleマップXMLレスポンスを解析しようとしています。 XSDファイルをGoogleが提供することは非常にうれしいでしょう。誰がそれを入手するかを知っていますか?Google Maps API V3、レスポンスXMLのXSD

既存のxsdがまったく存在しない場合は、誰でもGoogleが正式にこのスキーマを提供しない理由を知っていますか?その間、彼ら自身もこのファイルを使用している可能性があります。

おかげで、 user1146450

答えて

3

それはあなたが探しているもののために公式XSDがないことではなく、私の推測です。理由は、APIドキュメントが書かれている方法です。具体的には、XML応答の場合はXPathベースの優先処理モデルが付属しています。

GoogleのXMLは、WSDL + XSDの組み合わせを使用して説明した従来のWebサービスでは一般的ではありません。 WS-I Basic ProfileルールR1014の違反であるXML名前空間が欠けています。

あなたの質問は、あなたがインサイダーから答えを得るのが幸運な場合を除き、あなたの質問はむしろ個人的な意見を得ようとしていると思います...いつ私の答えを即座に削除しますか? XSDの使用がそれほど明るいアイデアではないかもしれないという私の見解です。

純粋なXML処理スタック(例えば、XML、XSLTなど、Datapower、Forum、Layer 7などのXMLアプライアンス)の開発に利用できる世界がある場合は、 XMLスキーマ(XSDまたはその他)をほぼ「犯罪」とします。

JavaやC#などの厳密な型指定言語を投げた場合、XMLがテーブルにもたらす柔軟性が失われます。 XSDは、これらの「バインディング」技術を容易にするための主要な成果物として使用されました。どちらもXMLの採用に役立ち、GoogleのXPathはXMLベースの処理モデルと呼ばれるものを妨げていました。

セマンティクスがXPathで固定されている場合、新しい機能に対応するために既存のXML構造を変更する必要はありません。しかし、これはJAXBと.NETのバインディングが邪魔するところです。

平均的な開発者にとってはXSD機能が使いすぎたり、非常に抽象的なモデルを記述するXSDを作成したりします。だから今、このすべてをサポートしようとする高い燃焼速度が始まります。

シンプルな構造の場合、XSDをすべてスキップするのはサポートの観点からは安いかもしれません。ほとんどの人は(とにかく)サンプルXMLを見て、XSDが何であるかを理解したいと思っています。仕様のオーナーが新しいタグを追加することに決めた場合、XPathベースのデータ抽出は常にそのような変更に影響されないため、誰も脅かされることはありません... XSDでこのようなことをしようとすると不可能か非常に醜い...

Googleの場合、そのほとんどがブラウザをターゲットにしている場合、「JavaScriptを使用してXMLを検証するにはどうすればよいですか? XMLに新しいタグを追加する必要があるたびにクラッシュします... xsdのワイルドカードが答えだと思う人には、それは常に可能ではない(UPAを参照)か、XSDの読みやすさに影響を与えたり、良いXmlNode画像に戻って...

これをまとめると、XSD +(あなたの言語はここ)のコードバインディング、長期的には、より多くの面倒さと雇用を引き起こした;) - 何よりも!

+0

を取得する必要がありますが、あなたの総合的な分析/答えをありがとう、あなたは正しいです、それは公式に「答えられないだろう場合、私はこの答えを受け入れます"短時間で。私はGoogleが簡単な方法でドキュメントを書こうとしていたと感じているが、何回かクリックした後、いつもEXITに導かれた理由はわからない...幸いにも私は最後に頑張って読みたいコンテンツを見つけた私のようなイベベリの男はこのように傷つけてはいけないと思っています-_- – rekinyz

+0

@ user1146450、確かに、私はJAXBを使ってみるあなたのアプローチが間違っていることを暗示するつもりはありませんでした。 "imbecilic"エピソードを使用してください... –

+0

いいえ、私はあなたの答えが私をばかばかしく感じさせたというわけではありませんでしたが、Googleのドキュメントはそうしました。 XSDスキーマなどを見つけようとしました...とにかく啓蒙主義のためにもう一度感謝します。 '_' – rekinyz

0

私はあなたに役立つと思います。それは、あなたはその後、XSDの作成者にオンラインXMLに貼り付け、ジオコードのクエリからXMLを受け取ることができ (例えば)https://developers.google.com/maps/documentation/webservices/index#ParsingXML

+0

このリンクは質問に答えるかもしれませんが、答え[ここ](http://meta.stackoverflow.com/a/8259)の必須部分を含め、参考のためにリンクを提供してください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 – bummi

-2

GoogleマップAPIにXMLで動作するようにXPathを使用する方法を示します。最後に、異なるレスポンスに合わせて結果を編集する必要があります(複数の場所に一致するように、ターゲット名前空間とminOccurs = "0" maxOccurs = "unbounded"を要素に追加する必要があります)。

あなたはこのような何か(上の例のXSD)

`https://pastebin.com/iV6w41ye` 
関連する問題