답변:
사이의 근본적인 차이 include
및 import
사용한다는 것입니다 import
에 선언 또는 정의를 참조 할 다른 대상 네임 스페이스와 사용합니다 include
에서 선언되거나 (또는 예정) 정의를 참조하는 동일한 대상 네임 스페이스.
출처 : https://web.archive.org/web/20070804031046/http://xsd.stylusstudio.com/2002Jun/post08016.htm
xsd : include 를 사용 하여 동일 하거나없는 네임 스페이스 에서 XSD를 가져옵니다 .
다른 네임 스페이스 에서 XSD를 가져 오려면 xsd : import 를 사용하십시오 .
또 다른 차이점은 <import>
다른 네임 스페이스를 참조하여 가져올 수 있다는 것 입니다. <include>
의도 된 포함 스키마의 URI를 참조하여 가져 오기만 허용합니다. 이는 내부 네임 스페이스 가져 오기와는 또 다른 차이점입니다.
예를 들어, XML 스키마 유효성 검사기는 이미 네임 스페이스별로 모든 스키마의 위치를 알고있을 수 있습니다 . 특히 URI로 XML 네임 스페이스를 참조하는 것은 classpath : //가 아무 의미가 없거나 http : //가 허용되지 않거나 일부 URI가 동일한 URI를 가리 키지 않는 다른 시스템에서 문제가 될 수 있다는 점을 고려 다른 시스템.
유효하고 유효하지 않은 수입 코드 샘플 :
유효한:
<xsd:import namespace="some/name/space"/>
<xsd:import schemaLocation="classpath://mine.xsd"/>
<xsd:include schemaLocation="classpath://mine.xsd"/>
유효하지 않습니다 :
<xsd:include namespace="some/name/space"/>
namespace
<xs:import>
schemaLocation
classpath:
MSDN 에서 직접 인용 : <xsd : import> 요소, 비고 섹션
사이의 차이 등 요소와 수입 요소 즉 수입 요소가 다른 대상 네임 스페이스와 스키마 문서에서 스키마 구성 요소에 대한 참조를 허용하고이 포함 요소가 동일한 대상 네임 스페이스 (또는 지정된 대상 네임 스페이스가 다른 스키마 문서에서 스키마 구성 요소를 추가 )를 포함하는 스키마에 추가합니다. 간단히 말해 import 요소를 사용하면 모든 스키마에서 스키마 구성 요소를 사용할 수 있습니다. 는 포함 요소는 당신이 포함 된 스키마에 포함 된 스키마의 모든 구성 요소를 추가 할 수 있습니다.