2012-01-17 5 views
1

스키마를 설명하는 XSD 파일이 있습니다.XSD 스키마에서 다른 네임 스페이스의 특성 필요

스키마의 루트 요소에는 다른 xsd에 정의 된 속성 (URL을 가지고 있음)이 필요합니다.

xsi:noNamespaceSchemaLocation="schema/SomeSchema.xs" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

가 어떻게 문서의 XSD에서 이것을 설명 않습니다 특히, 나는 문서의 루트 요소는 속성을 필요로 할?

답변

1

xsd.exe는 XSD 1.0 사양을 기반으로합니다. 그 스펙은 xsi : attributes에 대한 참조에서 작동하지 않습니다.

그러나, 이것은 XSD 1.1 프로세서로 작동합니다 : 그들은 "special"이기 때문에 당신이 XSD 1.0에서 XSI 네임 스페이스의 속성으로 작업 할 수없는 이유

<?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.1 그 중 일부는 편안합니다.

관련 문제