我正在开发一个应用程序,我需要解释响应xml。 我正在使用xsd文件。
我有subscription.xsd(下面列出),它引用了s.xsd文件。这两个文件都在应用程序的同一文件夹下(例如参考资料)。
但问题是,如果尝试使用简单路径,例如schemaLocation =“s.xsd”我收到此错误:无法读取包含的架构文档's.xsd'。我尝试了几种组合,但没有什么能解决问题。
有没有办法让这个参考通用,这样当我在linux平台上部署它时它就可以工作。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/Atom" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:s="http://www.somename.com/subscription">
<xs:import namespace="http://www.somename.com/subs/subscription" schemaLocation="file:/C:/MyApp/schma_defs/s.xsd"/>
<xs:element name="feed">
<xs:complexType>
<xs:sequence>
<xs:element ref="atom:id"/>
<xs:element ref="atom:title"/>
<xs:element ref="atom:author"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
答案 0 :(得分:1)
使schemaLocation
跨平台保持一致的方法:
schemaLocation="s.xsd"
schemaLocation="../xsds/s.xsd"
schemaLocation="http://www.somename.com/subs/subscription/s.xsd"