从另一个XSD导入复杂类型

6 浏览
0 Comments

从另一个XSD导入复杂类型

我在将一个复杂类型从一个XSD文件导入和引用到另一个XSD文件中遇到了困难。让我用一个例子来说明我的情况。\n学生.xsd\n



    
    
        
            
            
        
    

\n这是另一个XSD文件,教师.xsd,我想在这里引用学生.xsd中的复杂类型student。\n教师.xsd\n



    
    
    
        
            
            
            // TODO - 引用学生.xsd中的student
        
    

\n我已经看到了其他关于实现这个的语法的Stack Overflow帖子,如\n


\n以及导入:\n


\n但是似乎没有任何方法有效。\n有人可以帮我实现这个吗?

0
0 Comments

问题的原因是使用了错误的导入方式,应该使用xsd:include而不是xsd:import。原因是XSD文件在相同的命名空间中,所以应该使用xsd:include来引入其他XSD文件。

解决方法是将xsd:import替换为xsd:include。同时注意要引入正确的XSD文件,即Student.xsd而不是common.xsd。由于引用的类型在相同的命名空间中,所以不需要指定命名空间前缀。

另外,为了更好的编码风格,建议为元素和属性命名使用不同的名称。

此外,还提供了一些相关链接供参考,包括了关于xsd:include和xsd:import的区别的问题以及关于如何引用其他命名空间中的元素的问题。

最后,还提到了另一个问题的链接,该问题涉及到在不同命名空间中引用复杂类型的问题,提供了一个完整的工作示例来演示xsd:import的使用方式。

以上是关于如何从另一个XSD中导入复杂类型的问题的原因和解决方法的整理。

0