Session 1 : XML이란 , XML 생성
Session 2 : XSL사용
Session 3 : DOM 을 이용한 방법
Session 4 : XML 데이터 전송
Session 5: Validation 과 WebService
데이터의 구조화
XML이란?
의미가 부여되지 않은 데이터는 잘못 인식될 수 있다
구조화된 데이터는 다른 프로그램에서도 이해할수 있도록 한다
Metadata란? 데이터를 위한 데이터~!!
메타데이터란? 데이터를 꾸며주기위한 설명해주기위한 데이터
정보사용의 문제점
유용한 문서정보의 생성과배포
다양한 형태의 문서생성
다양한 형태의 문서 통합
조건적인 문서의 관리
자료 검색
검색엔진은 종종 엉뚱한 결과를 가져온다
HTML바탕의 거색인진 (AltaVista, Lycos)
- 검색어에 의한 검색
- Context에 의한 검색에는 적합하지 않음
새로운 검색형식의 필요
- Intelligence-based searches
- Meaning-based searches
- Context-based searches
XML의 필요성
오늘날 문서 데이터의 요구사항
-사람과 시스템이 모두 읽을 수있는 형태
-자료의 내용과 구조를 정의
-관계설정
-자료의 구조와 보여주는 부분의 분리
-개방성 및 확장성
XML 지원
XML태그를 이용한 데이터의 표현
문서의 데이터는 세가지로 구성됨
1.자료 - 워드문서
2.구조 - 어떻게 들어간다
3.출력 - 워드에서 볼수있고 프린트로도볼수잇고..
XML문서는 문서의 내용을 구조에 대한 정보를 포함하고 있다
워드같은 문서는 바이너리파일형식으로 저장되어있다
XML문서는 출력에 관한 내용은 정의하지않고있음
XML Extensible Markup Language
XML은 SGML의 Subset 형태이다
-Standard Generalized Markup Language
마크업 랭귀지 - > 출반이나 인쇄쪽에 사용하도록 고안된 간단한 스크립트 랭귀지
개발베이스는 프린트로 문서를 출력하기위해서 출력하기위해서 만든 마크업 랭귀지
XML은 www.w3.org 에 의해서 표준화 (W3C)
1986에 국제표준으로 제정
XML은 HTTP transaction에 사용
웹 서버에서 XML사용시 장점
- 하나의 XML파일을 모든 브라우저에서 사용
- 각각 브라우저는 자신의 포멧을 유지
XML을 사용하는 브라우저의 잇점
- 브라우저는 데이터를 재활용
- 네트웍의 트래픽과 서버의 로드를 줄일 수 있다
HTML은 단지 데이터를 표시
<table>
<tr>
<td> 이름</td>
</tr>
</table>
XML은 데이터를 정의
<employee>
<name> 최우인 </name>
<salary> 100 </salary>
<region>서울</region>
</employee>
XML의 장점
-확장성 , 호환성 , 자체적으로 데이터의 설명
XML의 단점
-구조를 정의하나 의미적으로 제한 , 또다른 혼란??
XML의 사용
비지니스의 업무의 자동화
ex) Electronic Data Interchange( EDI )
정보의 분산/전달
지식관리(Knowledge management)
응용프로그램과 데이터의 통합
XML문법
XML은 데이터를 설명하기 의해 태그를 사용
정보를 나타내는 기본 요소의 표현 방식
<name> 전광식 </name>
시작tag 요소Element 끝tag
하위 요소 포함가능
<employee>
<name> 전광식 </name>
<salary> 250000 </salary>
</employee>
XML문서의 구성
선언부 <?xml vertsion = "1.0"?>
주석 <!- 이것은 주석입니다 -->
상위 element <employee>
<name>전광식 </name>
<permanent_staff /> <-- 아무값도 없는것 빈태그
<salary currency = "원">
25000
</salary>
</employee>
XML문서의 구조
Prolog
- XML 선언
- DTD 또는 XML schema(문법의 정의)
<?xml version= "1.0">
<!DOCTYPE employees SYSTEM "employee.dtd"> <--다큐먼트 타입문법
상위 element는 다른 element를 포함
<employee>
</employee>
Well-Formed XML문서 생성
Well-formed 문서의 요구사항
- 단일, 유일한 상위 element
- 시작/끝 tags의 일치
- 대소문자 구분
- 하부 elements(중첩을 허용하지 않음)
- Attribute는 인용부호를 사용 ""
- 하나의 element에서 속성을 반복하여 사용하지 않음
Valid 문서의 요구사항
데이터의 사용
Element 는
반복적으로 사용되는 데이터
계층적 데이터의 묶음
순차적인 데이터
Attrbute는
Element데이터의 Metadata
Enumerate되는 값
파일크기의 축소
문법과 Namespaces
Namespace는 이름을 충돌의 방지한다
Element의 XML Namespace정의
- Xmlns라는 속성을 사용 : Uniform Resource Indicator (URI)
<?xml version="1.0" encoding="euc-kr" ?>
<f: 청과물 xmlns:f = "http://www,devpia.com">
<f:배>나주배</f:배>
<f:사과>부사</f:사과>
<운송방법>
<자동차>트럭</자동차>
</운송방법>
</청과물>
-----------위에것을 줄여서-----------
<?xml version="1.0" encoding="euc-kr" ?>
<청과물 xmlns = "http://www,devpia.com">
<운송방법>
<자동차>트럭</자동차>
</운송방법>
</청과물>
URI를 쓰기위한방법 두가지
URL ->Uniform Resource Locator
URN -> Uniform Resource Name
XML기술 용어 4가지
XML 을보여주는 스타일시트
데이타 바인딩
도큐번트 오브젝트 모델
벨리데이션 Validation
Style Sheet 를 이용한 XML문서 보기
Cascading Style Sheets (CSS) 소개
Style sheets 데이터의 포멧을 정의
HTML 은 casvading style sheets 을 이용하여 정의
XML문서에 CSS첨부
<?xml-stylesheet type="tesxt/css" href="employees.css" ?>
<employees>
<name> 전광식</name>
<salary> 100 </salary>
</employees>
XSL : XML의 Style Sheet (XML용 CSS)
XML의 elements와 attrubutes를 다른 포멧으로 변환하는 방식을 정의
CSS보다 더강력하고 유연함
순환 조건문사용가능 ,정렬, 새로운 엘레먼트어트리뷰추가
첨부방식
<?xml-stylesheet type="text/xsl" href="URL for XSL file" ?>
<?xml-stylesheet type="text/xsl" href="employees.xsl" ?>
<name> 전광식</name>
<salary> 100 </salary>
XML Data Island 생성
HTML 페이지에 XML문서 내장
Inline XML
<XML ID ="MyXMLData">
<?xml version="1.0" ?>
....XML 정의....
</XML>
XML파일 참조
<XML ID ="MyXMLData" SRC = "MyXmlData.xml">
</XML>
XML Data와 HTML Element 의 연결
<input type = "text" DATASRC ="#MyXMLData" DATAFLD="salary">
HTML에 테이블 형식으로 표시
<Table DATASRC ="#MyXMLData">
<td><SPAN DATAFLD="name"></td>
<td><SAPN DATAFLD="salary"></td>
</table>
Document Object Model이란?
XML문서에 대한 프로그램할 수 있는 interface제공
XML문서의 객체와 인터페이스 포함
XML tree를 프로그램화 가능
XML tree Elements와 attributes 등을 추가/삭제
새로운 XML문서의 프로그램적으로 생성
XML은 완벽한 트리 구조로 되어있다
DOM객체
DOMO안에 정의된 객체들 (Level 1)
XML DOM tree안에서 각각 다른 노드로 정의
Method와 properties제공
DOM을 이용한 XML Data Island 사용
<script language = "vbscropt">
Sub SampleSub()
Set doc = MyXMLData.XMLDocument
Set rootNode = doc.documentElement
....
End Sub
</script>
XML의 검사
Validation 은 XML문서를 원하는 형식에 맞게 작성/교환 할 수 있도록 한다
Well Formed 과 Valid 문서
Well Formed XML문서
- XML의 기본문법 준수
- elements/attributes 의 조합으로 구성
- 문법을 가지고 있음
Valid XML문서
- well formed문서
- Document Type Definition(DTD)또는 XML schema로 정의
- DTD/XML schema로 정의된 문법 사용
DTD / XML schema
DATA는 SGML의 Validation를 정의하는데 사용됨
DOCTYPE -element tree의 최상의
ELEMENT -element 자체및 다른 element의 관계를 정의
ATTLIST - attribute를 정의
- 복잡하다
- 데이터형식에 대한 자세한 정보가 없다
- 추가적인 태그 사용을 허용하지 않는다
XML Schema적용
Schema의 적용과 namespace의 사용
XML문서에 대한 Schema정의