我正在尝试将部分GML几何定义导入新的模式文件中:
http://schemas.opengis.net/gml/3.1.1/base/geometryBasic0d1d.xsd
这就是我的定义:
<schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://my.namespace.com"
xmlns:my="http://my.namespace.com"
xmlns:gml="http://www.opengis.net/gml"
elementFormDefault="qualified">
<import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/geometryBasic0d1d.xsd" />
当我通过JAXB编译器运行我的xsd时,我收到此错误:
[WARNING] schema_reference.4: Failed to read schema document 'http://schemas.opengis.net/gml/3.1.1/base/geometryBasic0d1d.xsd', because
1) could not find the document;
2) the document could not be read;
3) the root element of the document is not <xsd:schema>.
该文档是可访问的并且可以读取,因此似乎#3是问题所在。查看引用的xsd文件,它的root不是“&lt; xsd:schema&gt;”而只是“&lt; schema&gt;”。我已经四处搜索但是找不到任何关于如何导入这样的XSD的具体信息。但我无法想象我是唯一一个这样做的人,所以我做错了什么?
答案 0 :(得分:0)
我弄清楚问题是什么。我能够通过同一台机器上的浏览器访问导入的XSD文件,这让我相信JAXB编译器(XJC)可以做同样的事情。当我使用“-nv -verbose”选项运行XJC时,它报告连接超时,这让我意识到XJC本身无法看到导入的文件。原来有一个我忽略的代理设置。一旦我使用指定的代理服务器运行,导入就成功了。