我有以下架构: 主XSD:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:firstNamespace="firstNamespace" elementFormDefault="qualified" targetNamespace="mainNamespace" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation=".\firstChild.xsd" namespace="firstNamespace" />
<xs:element name="firstElement">
<xs:complexType>
<xs:group ref="firstNamespace:group" />
</xs:complexType>
</xs:element>
<xs:element name="secondElement" type="xs:date" />
</xs:schema>
Child xsd(具有不同的命名空间):
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:tns0="firstNamespace" elementFormDefault="qualified" targetNamespace="firstNamespace" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="firstElement" type="xs:date" />
<xs:element name="secondElement" type="xs:string" />
<xs:group name="group">
<xs:choice>
<xs:element ref="tns0:firstElement" />
<xs:element ref="tns0:secondElement" />
</xs:choice>
</xs:group>
</xs:schema>
当我将此架构添加到Visual Studio时,我有下一件事: Screenshot from MS Visual Studio 元素名称空间不会出现在元素名称之前。例如:
<firstElement xmlns="mainNamespace">
<firstElement xmlns="firstNamespace"/>
</firstElement>
但我需要查看名称空间并能够按名称空间选择元素。例如:
<mainNamespace:firstElement>
<firstNamespace:firstElement/>
</mainNamespace:firstElement>
有人可以解释为什么命名空间不会出现在Visual Studio中,或者给出具有正确实现的示例。
非常感谢。