不能在该文档实例中定位对一个支持schema类型(DTD,W3C Schema)的引用

ljywit 2009-04-16 05:38:08
schema文档address.xsd内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.example.com/company" targetNamespace="http://www.example.com/company" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="company">
<xs:annotation>
<xs:documentation>root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="address" type="address类型"/>
<xs:element ref="person" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="address类型">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="US-address">
<xs:complexContent>
<xs:extension base="address类型">
<xs:sequence>
<xs:element name="zip" type="xs:positiveInteger"/>
<xs:element name="state" type="US-state"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="UK-address">
<xs:complexContent>
<xs:extension base="address类型">
<xs:sequence>
<xs:element name="postcode" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="first" type="xs:string"/>
<xs:element name="last" type="xs:string"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="phone">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:maxInclusive value="222"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" type="xs:string"/>
</xs:sequence>
<xs:attribute name="manager" type="xs:boolean" use="required"/>
<xs:attribute name="programer" type="xs:boolean" use="optional"/>
<xs:attribute name="degree">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BA"/>
<xs:enumeration value="MA"/>
<xs:enumeration value="PhD"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="US-state">
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>


address.xml文件的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="D:\Program Files\Altova\XMLSpy2006\Examples\Tutorial\Company.xsl"?>
<company xmlns="http://www.example.com/company" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.example.com/company E:\xml\soap\address.xsd">
<address xsi:type="US-address">
<name>US dependency</name>
<street>Noble Ave</street>
<city>Dallas</city>
<zip>04812</zip>
<state>Texas</state>
</address>
<person manager="true" programer="true" degree="PhD">
<first>liu</first>
<last>jingyuan</last>
<phone>123</phone>
<email>liujingyuan_0908@126.com</email>
</person>
<person manager="true" programer="false" degree="BA">
<first>tong</first>
<last>liang</last>
<phone>22</phone>
<email>tongkiang@163.com</email>
</person>
<person manager="true" programer="false" degree="MA">
<first>wang</first>
<last>xiaowei</last>
<phone>214</phone>
<email>xiaowei@sian.com</email>
</person>
</company>


这两个文件的目录都是在E:\xml\soap下
...全文
673 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljywit 2009-04-17
  • 打赏
  • 举报
回复
xsd文件的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.exapmle.com/company" targetNamespace="http://www.exapmle.com/company" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="company">
<xs:annotation>
<xs:documentation>root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="address" type="ns1:address类型"/>
<xs:element ref="ns1:person" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="address类型">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="US-address">
<xs:complexContent>
<xs:extension base="ns1:address类型">
<xs:sequence>
<xs:element name="zip" type="xs:positiveInteger"/>
<xs:element name="state" type="ns1:US-state"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="UK-address">
<xs:complexContent>
<xs:extension base="ns1:address类型">
<xs:sequence>
<xs:element name="postcode" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="first" type="xs:string"/>
<xs:element name="last" type="xs:string"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="phone">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:maxInclusive value="222"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" type="xs:string"/>
</xs:sequence>
<xs:attribute name="manager" type="xs:boolean" use="required"/>
<xs:attribute name="programer" type="xs:boolean" use="optional"/>
<xs:attribute name="degree">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BA"/>
<xs:enumeration value="MA"/>
<xs:enumeration value="PhD"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="US-state">
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>
ljywit 2009-04-17
  • 打赏
  • 举报
回复
现在文件的代码如下:(xml)
<?xml version="1.0" encoding="UTF-8"?>
<ns1 xmlns:ns1="http://www.example.com/comapny" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.example.com/company E:\xml\soap\address.xsd">
<address xsi:type="US-address">
<name>US dependency</name>
<street>Noble Ave</street>
<city>Dallas</city>
<zip>04812</zip>
<state>Texas</state>
</address>
<person manager="true" programer="true" degree="PhD">
<first>liu</first>
<last>jingyuan</last>
<phone>123</phone>
<email>liujingyuan_0908@126.com</email>
</person>
<person manager="true" programer="false" degree="BA">
<first>tong</first>
<last>liang</last>
<phone>22</phone>
<email>tongkiang@163.com</email>
</person>
<person manager="true" programer="false" degree="MA">
<first>wang</first>
<last>xiaowei</last>
<phone>214</phone>
<email>xiaowei@sian.com</email>
</person>
</ns1>
(xsd)文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<ns1 xmlns:ns1="http://www.example.com/comapny" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.example.com/company E:\xml\soap\address.xsd">
<address>
<name>US dependency</name>
<street>Noble Ave</street>
<city>Dallas</city>
</address>
<person manager="true" programer="true" degree="PhD">
<first>liu</first>
<last>jingyuan</last>
<phone>123</phone>
<email>liujingyuan_0908@126.com</email>
</person>
<person manager="true" programer="false" degree="BA">
<first>tong</first>
<last>liang</last>
<phone>22</phone>
<email>tongkiang@163.com</email>
</person>
<person manager="true" programer="false" degree="MA">
<first>wang</first>
<last>xiaowei</last>
<phone>214</phone>
<email>xiaowei@sian.com</email>
</person>
</ns1>
希望你们帮我解决啊
ljywit 2009-04-17
  • 打赏
  • 举报
回复
还是谢谢你的帮助,虽然我还是没有解决。我现在已经知道命名空间有问题,但是还是出现那个问题就不知道了啊
kaleon 2009-04-17
  • 打赏
  • 举报
回复

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:company="http://www.example.com/company" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.example.com/company" targetNamespace="http://www.example.com/company" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="company">
<xs:annotation>
<xs:documentation>root element </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="address" type="company:addressType"/>
<xs:element ref="company:person" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="addressType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="US-address">
<xs:complexContent>
<xs:extension base="company:addressType">
<xs:sequence>
<xs:element name="zip" type="xs:positiveInteger"/>
<xs:element name="state" type="company:US-state"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="UK-address">
<xs:complexContent>
<xs:extension base="company:addressType">
<xs:sequence>
<xs:element name="postcode" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="first" type="xs:string"/>
<xs:element name="last" type="xs:string"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="phone">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:maxInclusive value="222"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" type="xs:string"/>
</xs:sequence>
<xs:attribute name="manager" type="xs:boolean" use="required"/>
<xs:attribute name="programer" type="xs:boolean" use="optional"/>
<xs:attribute name="degree">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BA"/>
<xs:enumeration value="MA"/>
<xs:enumeration value="PhD"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="US-state">
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>

得加上命名空间~~
ljywit 2009-04-16
  • 打赏
  • 举报
回复
我改了之后又出现了新的问题
在xml文件中显示的错误是:在其他文件中验证错误:E:\xml\soap\address.xsd
在xsd文件中显示的错误是:该文件无效:不能分辨不合格声明和定义“addressType” 于具有目标命名空间'' 的Schema中
xml 文件的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="D:\Program Files\Altova\XMLSpy2006\Examples\Tutorial\Company.xsl"?>
<company xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.com/company E:\xml\soap\address.xsd">
<address xsi:type="US-address">
<name>US dependency</name>
<street>Noble Ave</street>
<city>Dallas</city>
<zip>04812</zip>
<state>Texas</state>
</address>
<person manager="true" programer="true" degree="PhD">
<first>liu</first>
<last>jingyuan</last>
<phone>123</phone>
<email>liujingyuan_0908@126.com</email>
</person>
<person manager="true" programer="false" degree="BA">
<first>tong</first>
<last>liang</last>
<phone>22</phone>
<email>tongkiang@163.com</email>
</person>
<person manager="true" programer="false" degree="MA">
<first>wang</first>
<last>xiaowei</last>
<phone>214</phone>
<email>xiaowei@sian.com</email>
</person>
</company>


xsd文件的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:company="http://www.example.com/company" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.example.com/company" targetNamespace="http://www.example.com/company" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="company">
<xs:annotation>
<xs:documentation>root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="address" type="addressType"/>
<xs:element ref="person" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="addressType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="US-address">
<xs:complexContent>
<xs:extension base="addressType">
<xs:sequence>
<xs:element name="zip" type="xs:positiveInteger"/>
<xs:element name="state" type="US-state"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="UK-address">
<xs:complexContent>
<xs:extension base="addressType">
<xs:sequence>
<xs:element name="postcode" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="first" type="xs:string"/>
<xs:element name="last" type="xs:string"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="phone">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:maxInclusive value="222"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" type="xs:string"/>
</xs:sequence>
<xs:attribute name="manager" type="xs:boolean" use="required"/>
<xs:attribute name="programer" type="xs:boolean" use="optional"/>
<xs:attribute name="degree">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="BA"/>
<xs:enumeration value="MA"/>
<xs:enumeration value="PhD"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="US-state">
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>
希望好心人帮我解决一下啊
kaleon 2009-04-16
  • 打赏
  • 举报
回复
xsi:SchemaLocation应该为:xsi:schemaLocation

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧