감사합니다. 인스턴스가 있으면 온라인 도구를 사용하여 인스턴스의 유효성을 검사 할 수도 있습니다. This XML validator을 사용하면 유효성 검증 쌍을 저장하고 나중에 참조 할 수 있습니다.
당신이 생성 또는 아무것도를 확인하기 전에, 당신은 <schema>
루트 요소 및 네임 스페이스 선언이 제대로 구성 스키마가 있어야합니다 : 당신이 위에서 언급 한 세대 서비스를 사용하는 경우
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
, 당신은을 얻는 것 샘플 인스턴스를 다음은 :가 별도로 스키마를 지정할 필요없이 검증 할 수 있도록
<?xml version="1.0" encoding="UTF-8"?>
<!-- Document created with online XML Editor http://xmlgrid.net 2014/06/19 14:51:15 -->
<employee>
<firstname>test string</firstname>
<lastname>test string</lastname>
</employee>
당신은 또한 선언적 스키마에 인스턴스를 바인딩 할 수 있습니다.
<employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="schema-uri.xsd">
<firstname>test string</firstname>
<lastname>test string</lastname>
</employee>
가 하지 경우이다 (대상 네임 스페이스를 한 경우 : 스키마에는 대상 네임 스페이스가없는 경우 있습니다 (XSD 인스턴스 네임 스페이스의 자격을해야하는) noNamespaceSchemaLocation
속성 XML 스키마 인스턴스를 사용합니다 네임 스페이스와 그 위치를 매핑하는 스페이스로 구분 된 문자열 쌍 (한 문서에서 여러 스키마의 요소가있는 경우 더 많은 수)을 사용하는 schemaLocation
을 사용합니다. 이 유효성을 검사하려면
<employee xmlns="employee-namespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="employee-namespace schema-uri.xsd">
<firstname>test string</firstname>
<lastname>test string</lastname>
</employee>
, 당신의 스키마는 루트 요소에
targetNamespace
속성을 가질 필요가있다. 일반적으로 당신은 또한 기본 네임 스페이스로 대상 네임 스페이스를 선언 할 것, 필요한 경우
다른 지역의 유형를 참조 할 수 있습니다 SOU :
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="employee-namespace"
xmlns="employee-namespace"
elementFormDefault="qualified">
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
많은 감사, 우수한 설명. –