14
XML XML with with JAVA JAVA

XML with JAVA

Embed Size (px)

DESCRIPTION

XML with JAVA. chapter 07 : XML 스키마 Ⅰ. 학습목표. 스키마의 필요성 스키마 문서 작성 요소선언 속성선언. 스키마의 필요성. DTD 의 단점 dtd 는 xml 문법을 따르지 않기 때문에 문법을 따로 익혀야 하는 어려움이 있고 , 다양한 데이터 타입을 표현하지 못한다 . 새로운 유효성 검사 형식으로 스키마가 필요하게 되었다 . 스키마 문서 작성 스키마문서 > ~.xsd - PowerPoint PPT Presentation

Citation preview

Page 1: XML  with  JAVA

XML XML withwith JAVA JAVA

Page 2: XML  with  JAVA

chapter 07chapter 07 : :

XML XML 스키마 Ⅰ스키마 Ⅰ

Page 3: XML  with  JAVA

스키마의 필요성스키마의 필요성

스키마 문서 작성스키마 문서 작성 요소선언요소선언 속성선언속성선언

학습목표학습목표

Page 4: XML  with  JAVA

스키마의 필요성스키마의 필요성

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>

Page 5: XML  with  JAVA

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=“ 데이터형”데이터형” >>

스키마 문서 작성스키마 문서 작성

Page 6: XML  with  JAVA

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”

스키마 문서 작성스키마 문서 작성

Page 7: XML  with  JAVA

2.2. 복합 데이터형복합 데이터형

• 자식 엘리먼트를 갖는 엘리먼트자식 엘리먼트를 갖는 엘리먼트

<element name=“<element name=“ 요소명” 요소명” minOccurs=“minOccurs=“ 최소반복수” 최소반복수” maxOmaxOccurs=“ccurs=“ 최대반복수”최대반복수” >>

<complexType><complexType>

<sequence><sequence>

자식 엘리먼트자식 엘리먼트

</sequence></sequence>

</complexType></complexType>

</element> </element>

스키마 문서 작성스키마 문서 작성

Page 8: XML  with  JAVA

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>

스키마 문서 작성스키마 문서 작성

Page 9: XML  with  JAVA

xml>xml>

<member>

<hobby> 바둑 </hobby>

<hobby> 축구 </hobby>

</member>

예제참조 (ch07_1.xsd,ch07_1.xml)

스키마 문서 작성스키마 문서 작성

Page 10: XML  with  JAVA

• 자식 엘리먼트 와 속성을 갖는 엘리먼트자식 엘리먼트 와 속성을 갖는 엘리먼트

<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)

스키마 문서 작성스키마 문서 작성

Page 11: XML  with  JAVA

스키마 문서 작성스키마 문서 작성

• 속성만 갖는 엘리먼트속성만 갖는 엘리먼트

<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)

Page 12: XML  with  JAVA

스키마 문서 작성스키마 문서 작성

• 데이터와 속성을 갖는 엘리먼트데이터와 속성을 갖는 엘리먼트

<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)

Page 13: XML  with  JAVA

스키마 문서 작성스키마 문서 작성

• 엘리먼트 참조엘리먼트 참조

문서에서 자주 사용하는 엘리먼트 선언을 문서에서 자주 사용하는 엘리먼트 선언을 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 일 경우만 사용가능일 경우만 사용가능 ..

Page 14: XML  with  JAVA

스키마 문서 작성스키마 문서 작성

• 속성참조속성참조

자주 사용되는 속성 선언을 특정한 이름으로 생성하고 필요할 때 참자주 사용되는 속성 선언을 특정한 이름으로 생성하고 필요할 때 참

조 하여 속성을 선언할 수 있다조 하여 속성을 선언할 수 있다 ..

예제참조예제참조 (ch07_6.xsd,ch07_6.xml)(ch07_6.xsd,ch07_6.xml)