java xml SchemaFactory—使用具有不同名称空间的导入加载模式
我有一个xsd模式,具有以下头定义java xml SchemaFactory—使用具有不同名称空间的导入加载模式,java,xsd,xml-namespaces,Java,Xsd,Xml Namespaces,我有一个xsd模式,具有以下头定义 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="vdv453ger" xmlns="vdv453ger" xmlns:siri="http://www.siri.org.uk/siri" elementFormDefault="unqualified"
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="vdv453ger"
xmlns="vdv453ger"
xmlns:siri="http://www.siri.org.uk/siri"
elementFormDefault="unqualified"
attributeFormDefault="unqualified"
version="2.3e">
将引发异常:
org.xml.sax.SAXParseException
:src include.2.1
:引用架构的targetNamespace,当前为http://www.siri.org.uk/siri
,必须与包含架构的相同,当前为vdv453ger
它抱怨名称空间不同。如何修复此问题?错误消息向我建议存在一个xsd:include元素,您还没有告诉我们。使用xsd:import导入不同命名空间的架构文档,使用xsd:include导入相同命名空间的架构文档
<xsd:import namespace="http://www.siri.org.uk/siri"
schemaLocation="siri-1.3/siri/siri_all-v1.2.xsd"/>
<xsd:schema xmlns="http://www.siri.org.uk/siri"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:acsb="http://www.ifopt.org.uk/acsb"
xmlns:ns1="http://datex2.eu/schema/1_0/1_0"
targetNamespace="http://www.siri.org.uk/siri"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.2"
id="siri_all">
SchemaFactory sf = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI);
mySchema = sf.newSchema( fileUrla );