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