XML

Post on 05-Jan-2016

53 views 0 download

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

chapter 06chapter 06 : :

XSLTXSLT

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

학습목표학습목표

Namespaces Namespaces 란란 ??

Namespaces Namespaces 선언선언

XSLT XSLT 기능기능

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

NamespacesNamespaces

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

Namespaces Namespaces 란란 ??

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

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

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

Namespaces Namespaces 목적목적

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

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

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

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

: : 눈눈

눈눈

JAVA애플리케이션?

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

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

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

선언Prefix( 식별기능 )

Tag 사용시에는 Prefix 이용

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

실질적 element이름

QName(Qualified Name)

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

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

XSLTXSLT

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 스타일시트스타일시트

XSLTXSLT

XML XML HTML

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

XSLT Processor

XML XML

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

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

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

xsl 의 root

xsl 의 namespace

XSLTXSLT

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

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

XSLT template 문 Match command

Output data

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

XSLTXSLT

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

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

Root 노드

People 노드

Person 노드

name pet

Tom Smith Putty

XML 문서자체를의미

노드셋

엘리먼트 노드

텍스트 노드

XSLTXSLT

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

XSLTXSLT

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

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

XSLTXSLT

XSLXSL 스타일시트 스타일시트

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

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

XSLTXSLT

people

person

name pet

Tom Smith Putty

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

XSLTXSLT

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

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

요소경로

XSLTXSLT

XSLXSL 스타일시트 스타일시트

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

XSLTXSLT

XSLTXSLT

XSLXSL 스타일시트 스타일시트

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

Boolean 값인 Xpath 표현식

XSLTXSLT

XSLTXSLT

XSLXSL 스타일시트 스타일시트

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

XSLTXSLT

XSLTXSLT

XSLXSL 스타일시트 스타일시트

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

XSLTXSLT

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

XSLTXSLT

XSLT & HTMLXSLT & HTML

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

XSLTXSLT

XSLT & HTMLXSLT & HTML

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

공부한 내용공부한 내용

XSLTXSLT