140 likes | 234 Views
XML with JAVA. chapter 07 : XML 스키마 Ⅰ. 학습목표. 스키마의 필요성 스키마 문서 작성 요소선언 속성선언. 스키마의 필요성. DTD 의 단점 dtd 는 xml 문법을 따르지 않기 때문에 문법을 따로 익혀야 하는 어려움이 있고 , 다양한 데이터 타입을 표현하지 못한다 . 새로운 유효성 검사 형식으로 스키마가 필요하게 되었다 . 스키마 문서 작성 스키마문서 > ~.xsd
E N D
chapter 07 : XML 스키마 Ⅰ
학습목표 • 스키마의 필요성 • 스키마 문서 작성 • 요소선언 • 속성선언
스키마의 필요성 • DTD 의 단점 • dtd는 xml 문법을 따르지 않기 때문에 문법을 따로 익혀야 하는 • 어려움이 있고, 다양한 데이터 타입을 표현하지 못한다. 새로운 • 유효성 검사 형식으로 스키마가 필요하게 되었다. • 스키마 문서 작성 • 스키마문서> ~.xsd • <?xml version=“1.0” encoding=“euc-kr”?> • <xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema> • <xsd:element name=“memberlist” type=“xsd:string”/> • </xsd:schema>
스키마 문서 작성 • xml 문서>~.xml • <?xml version=“1.0” encoding=“euc-kr”?> • <memberlist xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=“c\1.xsd”> • 회원에 대한 내용이 온다. • </memberlist> • 요소 선언 • 단순 데이터를 갖는 요소 • <element name=“요소명” minOccurs=“최소횟수” maxOccurs=“최대횟수” type=“데이터형”>
스키마 문서 작성 xsd> <element name=“name” minOccurs=“0” maxOccurs=“3” type=“xsd:string”/> xml> <name>오정원</name> <name>이나라</name> 숫자형 데이터 타입 : type=“xsd:int” 요소를 무한대로 나열 : maxOccurs=“unbounded”
스키마 문서 작성 • 복합 데이터형 • 자식 엘리먼트를 갖는 엘리먼트 • <element name=“요소명”minOccurs=“최소반복수”maxOccurs=“최대반복수”> • <complexType> • <sequence> • 자식 엘리먼트 • </sequence> • </complexType> • </element>
스키마 문서 작성 xsd> <xsd:element name=“member”> <xsd:complexType> <xsd:sequence> <xsd:element name=“hobby” minOccurs=“0” maxOccurs=“unbounded” type=“xsd:string”/> </xsd:sequence> </xsd:complexType> </xsd:element>
스키마 문서 작성 xml> <member> <hobby>바둑</hobby> <hobby>축구</hobby> </member> 예제참조(ch07_1.xsd,ch07_1.xml)
스키마 문서 작성 • 자식 엘리먼트 와 속성을 갖는 엘리먼트 • <element name=“요소명”minOccurs=“최소반복수”maxOccurs=“최대반복수”> • <complexType> • <sequence> • 자식 엘리먼트 • </sequence> • 속성 • </complexType> • </element> • 예제참조(ch07_2.xsd,ch07_2.xml)
스키마 문서 작성 • 속성만 갖는 엘리먼트 • <element name=“요소명”minOccurs=“최소반복수”maxOccurs=“최대반복수”> • <complexType> • 속성 • </complexType> • </element> • 예제참조(ch07_3.xsd,ch07_3.xml)
스키마 문서 작성 • 데이터와 속성을 갖는 엘리먼트 • <element name=“요소명”minOccurs=“최소반복수”maxOccurs=“최대반복수”> • <complexType> • <simpleContent> • <extension base=“데이터타입”> • 속성 • </extension> • </simpleContent> • </complexType> • </element> • 예제참조(ch07_4.xsd,ch07_4.xml)
스키마 문서 작성 • 엘리먼트 참조 • 문서에서 자주 사용하는 엘리먼트 선언을 schema 엘리먼트의 자식 엘리먼트로 선언하고 필요할 때 다른 엘리먼트 선언시 참조할 수 있다. • 예제참조(ch07_5.xsd,ch07_5.xml) • 속성선언 • <attribute name=“속성명”use=“required|optional” type=“데 • 이터 형”ref=“참조할 속성명”default=“기본값”> • default 속성은 use 속성값이 optional 일 경우만 사용가능.
스키마 문서 작성 • 속성참조 • 자주 사용되는 속성 선언을 특정한 이름으로 생성하고 필요할 때 참 • 조 하여 속성을 선언할 수 있다. • 예제참조(ch07_6.xsd,ch07_6.xml)