我不明白这里发生了什么。据我所知,我的小解析器程序通过了我的 XML 和 XSD 更改并很好地加载了东西,但是如果我把这些东西放在我们的生产系统中,它就会爆炸。
我现在才开始使用 XSD 导入语句。如果取出一些用户定义的类型并将它们全部放入 XSD,我会做什么。
以下是一些典型的错误
文件“/home/dfcuser/dataElementsTrans.xsd”出错,行 = 7,列 = 37,XML 元素 =,导入的架构 'DFCTypes.xsd' 具有不同的 targetNameSpace 'http://www.quikq.com/xsd/ dataElementsTrans 来自声明的“http://www.quikq.com/DFCTypes”
文件“/home/dfcuser/dataElementsTrans.xsd”错误,行 = 29,列 = 55,XML 元素 =,模式表示约束:命名空间 'http://www.quikq.com/DFCTypes' 被引用但没有声明
以下是示例文档的序言:
DFCTypes.xsd
------------
<xs:schema
targetNamespace="http://www.quikq.com/DFCTypes"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
dataElementsTrans.xsd
---------------------
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:dfct="http://www.quikq.com/DFCTypes"
targetNamespace="http://www.quikq.com/xsd/dataElementsTrans"
xmlns="http://www.quikq.com/xsd/dataElementsTrans"
elementFormDefault="qualified" >
<xs:import schemaLocation="DFCTypes.xsd" namespace="http://www.quikq.com/DFCTypes" />
XML
---
<dataElementsTrans
xmlns="http://www.quikq.com/xsd/dataElementsTrans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.quikq.com/xsd/dataElementsTrans dataElementsTrans.xsd">
我的示例解析器程序和生产代码必须以不同的方式打开某些东西。我对此仍然很陌生,所以我有点挠头。
谢谢!