我有一个xsd文档,开头是:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:complexType name="T_segment">
<xs:sequence>
<xs:element ref="element" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="xml:space" use="required"/>
<xs:attribute ref="id" use="required"/>
</xs:complexType>
...
当我试图在类似biztalk的映射应用程序中使用这个xsd时,它会爆发出对名称空间的抱怨。因此,我删除xs:import名称空间标记,它抱怨xs:attribute ref=“xml:space”标记。所以,我移除了它,它看起来工作正常(至少不会爆炸)。
我的问题是,那些标签是做什么用的?通过移除它们,我是否破坏了xsd?
据我所知,名称空间是为了避免冲突。但在xsd中,所有内容都以xs为前缀,模式本身具有xmlns:xs=“http://www.w3.org/2001/xmlschema”。我不知道那进口是干什么用的。