XSD(XML Schema Definition)?
 XML문서의 유효성을 검사하기위해 사용하는 DTD의 한계로 인해 나타난 새로운 표준.
 XML문서의 구조를 정의하며 XSD는 w3c.org에서 표준을 정했다. 그 모든 내용은
 http://www.w3.org/TR/xmlschema-0/(새 창으로 열기) (Primer)
 http://www.w3.org/TR/xmlschema-1/(새 창으로 열기) (Structure)
 http://www.w3.org/TR/xmlschema-2/(새 창으로 열기) (Data Type)
 에서 확인 가능.
 
 XML_XSD.ppt

동명대 컴공과 자료






XML Schema에 대한 온라인 튜토리얼 제공 사이트
http://www.w3schools.com/Schema/default.asp(새 창으로 열기)
 
XML문서로부터 XSD를 생성해 주는 커맨드라인 도구
http://thaiopensource.com/relaxng/trang.html(새 창으로 열기)

이 글의 관련글
  • XML-RPC Response 문서 포맷
  • XML-RPC Request 문서 포맷
  • XML-RPC 데이타 형식과 표기 방법
  • XML-RPC Fault 문서 포맷
  • XML문서를 네트워크를 통해 전달하고자 할 경우
  • JDOM과 XML 파싱
  • LINQ를 XSD로 변환하기
  • java.beans.XMLDecoder와 java.beans.XMLEncoder를 이용한 Java객체의 xml 변환
  • 자바 프로그래밍으로 온라인 XML 데이터 검색하기

  • 출처 -  http://www.yunsobi.com/blog/394

    =
    ============================================================================================

    ▶ XSD 기본 구조

     

    <element name="주소록"> <!-- '주소록' 요소 정의 -->

      <complexType> <!-- 하위 요소를 포함한 복잡한 구조라는 뜻 -->

        <sequence> <!-- 다음에 오는 요소들은 생략할 수 없고, 정의된 순서대로 와야 한다는 뜻 -->

          <element name="멤버" minOccurs="0" maxOccurs="unbounded"> <!-- 멤버 요소는 0 ~ 무제한 등장할 수 있다 -->

            <complexType>

              <sequence>

                <element name="이름" type="string" /> <!-- 데이터형은 string 이다. -->

                <element name="전화번호" type="string" />

              </sequence>

              <attribute name="연번" type="positiveInteger" /> <!-- 속성 선언 -->

            </complexType>

          </element>

        </sequenct>

      </complexType>

    </element>

     

     

    ▶ <element> : 요소를 정의한다.

       - name 속성 : 요소명의 정의

       - minOccurs 속성 : 최소 등장 횟수를 정의 / 생략시 기본값은 1 이다.

       - maxOccurs 속성 : 최대 등장 횟수를 정의 / 생략시 기본값은 1 이다. / unbounded : 무한대 등장 가능

       - type 속성 : 요소의 데이터 형을 정의 / xsd 접두어를 사용하여 XSD를 사용한다면 데이터 형 앞에도 xsd 접두어를 붙여줘야 한다.

     

        <xsd:element name="전화번호" minOccurs="0" maxOccurs="unbouded" type="xsd:string" />

     

    ▶ <complexType> vs <simpleType>

       - complexType : 요소가 하위 요소와 속성을 포함하는 복잡한 구조라는 뜻이다.

       - simpleType : 요소가 하위 요소와 속성은 없고, 데이터만을 가질 때, 제약을 가하는 용도로 사용 

     

    ▶ 복합자(compositor) : <sequence> vs <choice> vs <all>

      ※ <complexType> 다음에는 반드시 복합자가 와야 한다.

       - sequence : 하위 요소가 정의한 순서대로 와야 한다.

       - choice : 정의된 하위 요소 중 하나만 올 수 있다.

       - all : 하위 요소가 순서에 상관없이 와야한다.

                단, 하위 요소들은 반복이 1회까지로 제한되다.(minOccurs= 0 or 1 / maxOccurs = 1)  

                choice 안에서 사용할 수 없다.

     

    ▶ <attribute>

       ※ 속성선언 / 속성은 <complexType> 안에 하위 요소 다음에 와야 한다.           

       - name 속성 : 속성의 이름을 정의한다.

       - use 속성 : 생략 여부 / optional 과 required 가 있고, 디폴트는 optional 이다.

       - default 속성 : 속성이 생략되었을 때 자동으로 부과되는 기본값 / use 속성이 optional 일때만 적용할 수 있다.

       - ref 속성 : 글로벌 속성 선언을 참조할 경우 사용

       - type 속성 : 속성값으로 가질 수 있는 데이터형 정의

    [출처] XSD 기본구조|작성자 지후아빠



    출처 -  http://blog.naver.com/withpsk?Redirect=Log&logNo=130082540905 


     

    'Development > XML' 카테고리의 다른 글

    XML, DTD, XSD, XSL 관계  (0) 2012.02.13
    Markup Language  (0) 2012.01.27
    XML DOM(Document Object Model)  (1) 2012.01.23
    XML 창시자 - 팀 브레이  (0) 2010.12.14
    XML 정의  (0) 2010.11.29
    Posted by linuxism
    ,