xsd.exe基於XSD 1.0規範;該規範不適用於對xsi:attributes的引用。
然而,這應該與XSD 1.1處理器工作:
<?xml version="1.0" encoding="utf-8"?>
<!--XML Schema generated by QTAssistant/XSD Module (http://www.paschidev.com)-->
<xsd:schema xmlns="urn:tempuri-org:XSD" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:tempuri-org:XSD" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="root">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="xsi:noNamespaceSchemaLocation" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>
爲什麼你不能讓它與來自XSD 1.0 XSI的命名空間屬性工作的原因是因爲他們是"special"。 XSD 1.1放寬了一些。