Google Maps API V3,Response XML的XSD

时间:2012-02-20 15:26:52

标签: google-maps xsd

我正在尝试使用JAXB解析Google-Maps XML响应。拥有谷歌提供的XSD文件会非常好。谁知道从哪里拿到它?

如果根本没有现有的xsd,任何人都知道为什么谷歌不会正式提供这种架构?他们自己也可能同时使用这个文件。

感谢, user1146450

3 个答案:

答案 0 :(得分:3)

相当于我的教育猜测,你正在寻找的东西没有正式的XSD;原因在于编写API文档的方式,特别是它带有一个首选的处理模型,对于XML响应是基于XPath的。

对于使用WSDL + XSD组合描述的传统Web服务,Google的XML也不常见;它缺少XML命名空间,违反了WS-I Basic Profile规则R1014。

至于为什么,我认为你的问题很有可能在这个问题上获得个人观点,除非你很幸运能得到内部人士的回答......在这一点上我会立即删除我的答案......直到那时,这是我对XSD的使用何时可能不是一个好主意的看法。

如果有一个世界只有纯XML处理堆栈可用于开发(例如XML,XSLT等,XML设备,如Datapower,Forum,Layer 7等),那么我会考虑不提供XML模式(XSD或其他)几乎是“犯罪”。

如果你使用强类型语言,例如Java和C#,那么就会失去XML给表带来的很多灵活性。 XSD被用作促进这些“绑定”技术的主要工件;它既有利于采用XML,也阻碍了我所谓的基于XML的处理模型,其中谷歌的XPath就是其中之一。

如果语义以XPath为基础,那么根据需要更改现有XML结构以适应新功能对现有处理器无关紧要。但这就是JAXB和.NET绑定的结果......

为了缓解这种情况,人们开始使用XSD功能,这些功能对于普通开发人员来说过于复杂,或构建描述非常抽象模型的XSD。所以现在,人们开始有高燃烧率试图支持所有这些...

可能会发现,对于简单的结构,从支持角度来看,将XSD一起跳过可能会更便宜;大多数人(无论如何)都希望看到一个示例XML来了解XSD的全部内容。如果规范所有者决定添加新标签,他/她认为合适的任何地方,没有人会因为基于XPath的数据提取总是不受这些变化的影响而犯规...尝试用XSD做这样的事情要么不可能或非常丑陋...

在谷歌的情况下,如果大多数是针对浏览器,为什么还要回答“我如何使用javascript验证XML?”......并且没有人希望服务器端应用程序在每次需要添加时都会崩溃XML的新标签...对于那些认为xsd通配符是答案的人,我认为它并不总是可行(参见UPA),或者它影响XSD易读性,或者它实际上将好的XmlNode带回到图片中...... / p>

总结一下,我认为XSD +(你的语言在这里)代码绑定,从长远来看,造成了更多的麻烦和就业;) - 比其他任何东西都好!

答案 1 :(得分:0)

我认为这会对你有所帮助。它展示了如何使用XPath在Google Maps API上使用XML https://developers.google.com/maps/documentation/webservices/index#ParsingXML

答案 2 :(得分:-2)

(例如) 您可以从地理编码查询中接收XML,然后将其粘贴到在线XML到XSD创建者。最后,您需要编辑结果以匹配不同的响应(我必须添加目标命名空间和minOccurs =&#34; 0&#34; maxOccurs =&#34;无界&#34;到元素以匹配多个位置)。< / p>

你应该得到这样的东西(上面例子的XSD)

 `https://pastebin.com/iV6w41ye`