Мы новые пользователи для xsd, и мы пытаемся проверить файл xsd, который должен импортировать другой. Мы пытаемся сделать импорт из companyInfos.xsd в jobrecord.xsd. Вот два xsd-файла, с которыми мы имеем дело. employmentrecord.xsdОшибка проверки xsd при импорте
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ci="companyInfos.xsd"
targetNamespace="er"
elementFormDefault="qualified">
<xsd:import namespace="ci" schemaLocation="companyInfos.xsd" />
<xsd:element name="employment">
<xsd:complexType>
<xsd:sequence>
<xsd:element type="ci:company"/>
<xsd:element name="position" type="xsd:string"/>
<xsd:element name="duration" type="xsd:string"/>
<xsd:element name="dateStart" type="xsd:date"/>
<xsd:element name="current" type="xsd:booolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
companyInfos.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="ci" elementFormDefault="qualified">
<xsd:element name="company">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="companyName" type="xsd:string"/>
<xsd:element name="foundationDate" type="xsd:date"/>
<xsd:element name="field" type="xsd:string"/>
<xsd:element name="employeeCount" type="xsd:integer"/>
<xsd:element name="logo" type="xsd:anyURI"/>
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="httpLink" type="xsd:anyURI"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Мы получили следующее сообщение об ошибке в терминале при попытке действительность: org.xml.sax.SAXParseException; systemId: файл: ///home/jiby/Dropbox/ID2208_shared%20with%20JB/SampleParser/ID2208_hw1/xml/employmentrecord.xsd; Было обнаружено, что «ci: company» находится в пространстве имен «companyInfos.xsd», но компоненты из этого пространства имен не ссылаются на файл документа схемы: /// home/jiby/Dropbox/ID2208_shared% 20with% 20JB/SampleParser/ID2208_hw1/XML/employmentrecord.xsd. Если это неправильное пространство имен, возможно, необходимо изменить префикс «ci: company». Если это правильное пространство имен, то к 'file: ///home/jiby/Dropbox/ID2208_shared%20with%20JB/SampleParser/ID2208_hw1/xml/employmentrecord.xsd следует добавить соответствующий тег' import '.
(я не знаю, если это может быть полезно, но вот два XML-файлы)
<?xml version="1.0" encoding="UTF-8"?>
<employment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="er"
xmlns:ci="companyInfos.xsd"
>
<ci:company>
<companyName>
Google
</companyName>
<foundationDate>
1995-09-15
</foundationDate>
<field>
Search engine
</field>
<employeeCount>
40000
</employeeCount>
<logo>
http://static3.wikia.nocookie.net/__cb20100520131748/logopedia/images/5/5c/Google_logo.png
</logo>
<description>
Google is an American multinational corporation specializing in Internet-related services and products. These include search, cloud computing, software, and online advertising technologies
</description>
</ci:company>
<position>Chief Finantial Opportunist</position>
<duration>1 year</duration>
<dateStart>2012-01-01</dateStart>
<current>false</current>
</employment>
<?xml version="1.0" encoding="UTF-8"?>
<company xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="ci">
<companyName>
Google
</companyName>
<foundationDate>
1995-09-15
</foundationDate>
<field>
Search engine
</field>
<employeeCount>
40000
</employeeCount>
<logo>
http://static3.wikia.nocookie.net/__cb20100520131748/logopedia/images/5/5c/Google_logo.png
</logo>
<description>
Google is an American multinational corporation specializing in Internet-related services and products. These include search, cloud computing, software, and online advertising technologies
</description>
<httpLink>http://google.com</httpLink>
</company>
Мы попытались посмотреть на форумах для ответа, но предлагаемые решения не кажутся работа, файл всегда имел некоторые проблемы для проверки.
Просто угадайте, но не нужно ли определять 'ci: company' как' ', поскольку вы имеете в виду уже определенный тип? –
У нас была эта ошибка с этим: org.xml.sax.SAXParseException; systemId: файл: ///Users/kevin/Dropbox/ID2208_shared%20with%20JB/SampleParser/ID2208_hw1/xml/employmentrecord.xsd; lineNumber: 12; columnNumber: 40; s4s-att-not-allowed: атрибут 'typeref' не должен фигурировать в элементе 'element'. – Kevin
Не уверен, что ваши проблемы в точности, ссылки на элементы из импортированной схемы работают в нашем случае довольно хорошо. Возможно, посмотрите на [эту ссылку здесь] (http://www.w3schools.com/schema/el_element.asp) –