XML

30

description

XML. chapter 06 : XSLT (eXtensible Stylesheet Language Transformation). 학습목표. Namespaces 란 ? Namespaces 선언 XSLT 기능 XSLT 엘리먼트 및 사용법. Namespaces. Namespaces ( 네임스페이스 ). Namespaces 란 ? : 동일한 XML 파일 또는 서로 다른 XML 파일 내에서 같은 이름의 element ( 또는 attribute) 가 존재할 때 - PowerPoint PPT Presentation

Transcript of XML

Page 1: XML
Page 2: XML

chapter 06chapter 06 : :

XSLTXSLT

(eXtensible Stylesheet Language Tran(eXtensible Stylesheet Language Transformation)sformation)

Page 3: XML

학습목표학습목표

Namespaces Namespaces 란란 ??

Namespaces Namespaces 선언선언

XSLT XSLT 기능기능

XSLT XSLT 엘리먼트 및 사용법엘리먼트 및 사용법

Page 4: XML

NamespacesNamespaces

Page 5: XML

Namespaces ( Namespaces ( 네임스페이스네임스페이스 ))

Namespaces Namespaces 란란 ??

: : 동일한 동일한 XML XML 파일 또는 서로 다른 파일 또는 서로 다른 XML XML 파일 내에서 파일 내에서

같은 이름의 같은 이름의 element ( element ( 또는 또는 attribute)attribute) 가 존재할 때가 존재할 때

이름 충돌을 방지하기 위한 이름공간이름 충돌을 방지하기 위한 이름공간 ..

Namespaces Namespaces 목적목적

: : 이름충돌을 방지하기 위해서 이름충돌을 방지하기 위해서 elementelement 와 와 attributeattribute 를 를

그룹으로 관리한다그룹으로 관리한다 ..

Page 6: XML

Namespaces ( Namespaces ( 네임스페이스네임스페이스 ))

이름충돌의 예이름충돌의 예 ..

: : 눈눈

눈눈

JAVA애플리케이션?

Page 7: XML

Namespaces ( Namespaces ( 네임스페이스네임스페이스 ))

Namespaces Namespaces 선언선언 :: 실제로 네임스페이스이름 대신에 접두사를 이용한다실제로 네임스페이스이름 대신에 접두사를 이용한다 ..

URI 값( 실제적인 parser 에 의해 해석 안됨 . 유일값 권고 )

선언Prefix( 식별기능 )

Tag 사용시에는 Prefix 이용

프로토콜명 :// 웹서버명 . 도메인이름 / 작성년도 / 구체적인이름

실질적 element이름

QName(Qualified Name)

Page 8: XML

Namespaces ( Namespaces ( 네임스페이스네임스페이스 ))

이름충돌의 해결이름충돌의 해결 ..

Page 9: XML

XSLTXSLT

Page 10: XML

XSLTXSLT

XSLT XSLT 란란 ??

: XML: XML 문서를 다른 문서를 다른 XMLXML 구조구조 (html , wml(html , wml 등등 ) ) 로 변환하는 로 변환하는 기술기술 ..

XML XML

HTML

wml

XSLT

XSLT

XSLT XSLT 구성요소 구성요소 33 가지가지

: XML : XML 파일 파일 + XSL+ XSL 프로세서 프로세서 + XSL+ XSL 스타일시트스타일시트

Page 11: XML

XSLTXSLT

XML XML HTML

wmlXSL스타일시트 XSL스타일시트

XSLT Processor

XML XML

XSL 스타일시트 XSL 스타일시트

XSLXSL 스타일시트 기본구조스타일시트 기본구조

Memory 에Tree 구조로 생성(DOM 객체 )

xsl 의 root

xsl 의 namespace

Page 12: XML

XSLTXSLT

XSLXSL 스타일시트 스타일시트 1. Template element1. Template element

: XML : XML 의 특정 의 특정 elementelement 을 다른 형태로 변환을 다른 형태로 변환 ..

XSLT template 문 Match command

Output data

상위의 노드 부터 실행된다상위의 노드 부터 실행된다 . ( / . ( / 가 최초로 실행 가 최초로 실행 ))

Page 13: XML

XSLTXSLT

노드 와 노드셋노드 와 노드셋

: : 노드는 노드는 treetree 구조에서 사용되는 용어 구조에서 사용되는 용어

Root 노드

People 노드

Person 노드

name pet

Tom Smith Putty

XML 문서자체를의미

노드셋

엘리먼트 노드

텍스트 노드

Page 14: XML

XSLTXSLT

브라우저에msxml 내장(xsl 프로세서 )

Page 15: XML

XSLTXSLT

XSLXSL 스타일시트 스타일시트 2. apply-templates element2. apply-templates element

: match: match 에서 지정된 에서 지정된 elementelement 의 내용을 출력의 내용을 출력 . ( = . ( = 다른 다른 template template 검색검색 ))

Page 16: XML

XSLTXSLT

XSLXSL 스타일시트 스타일시트

3. 3. 여러 여러 elementselements 들의 들의 templates templates 설정설정

: match: match 와 일치하는 노드가 있는 경우에 와 일치하는 노드가 있는 경우에 match match 실행실행 . . 없는 경우에는 없는 경우에는 text text 노드 실행노드 실행

Page 17: XML

XSLTXSLT

people

person

name pet

Tom Smith Putty

<xsl:apply-templates select=“pet”/>

Page 18: XML

XSLTXSLT

XSLXSL 스타일시트 스타일시트 4. value-of element4. value-of element

: element: element 의 내용을 문자로 출력의 내용을 문자로 출력 ..

요소경로

Page 19: XML

XSLTXSLT

XSLXSL 스타일시트 스타일시트

5. template5. template 의 의 name name 속성속성 : : 반복적인 반복적인 templatetemplate 을 사용하기 위해서 을 사용하기 위해서 name name 으로 선언으로 선언 ..

Page 20: XML

XSLTXSLT

Page 21: XML

XSLTXSLT

XSLXSL 스타일시트 스타일시트

6. xsl:if 6. xsl:if 엘리먼트 엘리먼트 : : 조건조건

Boolean 값인 Xpath 표현식

Page 22: XML

XSLTXSLT

Page 23: XML

XSLTXSLT

XSLXSL 스타일시트 스타일시트

7. xsl:choose 7. xsl:choose 엘리먼트 엘리먼트 : : 자바의 자바의 switch switch 문과 동일문과 동일

Page 24: XML

XSLTXSLT

Page 25: XML

XSLTXSLT

XSLXSL 스타일시트 스타일시트

8. xsl:for-each 8. xsl:for-each 엘리먼트 엘리먼트 : : 반복처리반복처리

Page 26: XML

XSLTXSLT

Page 27: XML

XSLT XSLT 이용한 이용한 HTML HTML 생성생성

Page 28: XML

XSLTXSLT

XSLT & HTMLXSLT & HTML

: : 기본은 기본은 html html 로 생성된다로 생성된다 .. Html 도 well-formed문서

Page 29: XML

XSLTXSLT

XSLT & HTMLXSLT & HTML

: <xsl:output method=“text” /> : <xsl:output method=“text” /> 사용하여 사용하여 texttext 로 바꿈로 바꿈 ..

Page 30: XML

공부한 내용공부한 내용

XSLTXSLT