XSD无法验证包含dt:dt属性的XML

XSD无法验证包含dt:dt属性的XML,xml,xsd,attributes,xsd-validation,Xml,Xsd,Attributes,Xsd Validation,XSD文件无法验证包含dt:dt属性的XML文件。XSD文件中不接受dt:dt属性 比如说 <xs:attribute name="dt:dt" type="xs:nonNegativeInteger" use="optional"/> XSD文件: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDef

XSD文件无法验证包含
dt:dt
属性的XML文件。XSD文件中不接受
dt:dt
属性

比如说

<xs:attribute name="dt:dt" type="xs:nonNegativeInteger" use="optional"/>
XSD文件:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="OperationalTopology">
        <xs:annotation>
            <xs:documentation>Comment describing your root element</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:all>
                <xs:element name="Element1" minOccurs="0">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Element1_In" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                <xs:attribute name="ID" use="optional"/>
                                <xs:attribute name="dt" use="optional"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

描述根元素的注释
在上面的示例中,xsd在验证XML时出错。
错误发生在dt:dt属性中。
xs:attribute
元素上的
name
属性的值只能是本地名称(
dt
)。它应该在它自己的模式中声明(比如,
xsd2.xsd
),因为它有一个不同的名称空间(当然,除非这个模式已经存在):


通常解决方案是修复生成无效xml的代码。提供您正在使用的xml文件和XSD文件将非常有帮助,这样我们就可以理解问题并帮助您。谢谢@GhislainFourny我已经粘贴了我正在使用的XML和XSD文件。谢谢@MittalAnshul。我已经根据你的档案修改了我的答案。对不起。我不知道我的问题是怎么被编辑的。属性名不是“name”,而是dt:dt。例如。请对此提供答案。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="OperationalTopology">
        <xs:annotation>
            <xs:documentation>Comment describing your root element</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:all>
                <xs:element name="Element1" minOccurs="0">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Element1_In" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                <xs:attribute name="ID" use="optional"/>
                                <xs:attribute name="dt" use="optional"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="urn:schemas-microsoft-com:datatypes">
    <xs:attribute name="dt"/>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:dt="urn:schemas-microsoft-com:datatypes"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    <xs:import namespace="urn:schemas-microsoft-com:datatypes" schemaLocation="xsd2.xsd"/>
    <xs:element name="OperationalTopology">
        <xs:annotation>
            <xs:documentation>Comment describing your root element</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:all>
                <xs:element name="Element1" minOccurs="0">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Element1_In" minOccurs="0" maxOccurs="unbounded">
                                <xs:complexType>
                                    <xs:attribute name="ID" use="optional"/>
                                    <xs:attribute ref="dt:dt" use="optional" />
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>