Transcript XML_XSLT

XML XSLT
XSLT 소개
XSLT 원소들
예제 실습
SESSION
01
• XSL(XML Stylesheet Language)
 CSS와 더불어 XML 문서의 스타일을 정의하기 위한 언어
 XSL 구성
 XSLT(XSL Transformations)
 XSL-FO(XSL Formatting Objects)
 XML의 문법을 준수한 XML 문서
• XSLT
 XML 문서를 다른 형태의 XML 문서나 다른 형태의 문서
(예: HTML, TEXT)로 변환 가능
• XSLT + XSL-FO
 XML 문서를 PDF와 RTF 등의 문서로 변환 가능
XSLT
Style Sheet
WML
VoiceXML
XSLT
처리기
HTML 문서
XML 문서
XML
문서
RTF
DB
XSLT
처리기
XSLT+FO
Style Sheet
PDF
• XSLT
 XML 문서를 변환하기 위해서 변환 규칙들을 기술
 변환 규칙 -> 템플릿(Template)
 Template
 <template> element로 기술
 <template>의 내용은 문서를 변환하기 위한 명령어와 내용들
 Math 속성을 가짐
- 규칙이 적용될 XML 원소를 찾기 위해 기술
- 값으로 Xpath를 사용
 XSLT 문서의 최상위 element는 <stylesheet>
 Namespace : http://www.w3.org/1999/XSL/Transform
• XSLT
 XSLT 파일 형태(문서 구조)
<?xml version='1.0' encoding='euc-kr'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
.....
</xsl:template>
<xsl:template match=“contact">
.....
</xsl:template>
.....
</xsl:stylesheet>
Template
매칭 규칙
처리 내용
SESSION
02
• Template element
 XML의 특징 element를 다른 형태로 변환
Output data
XSLT template문
Match command
 상위의 노드부터 실행(/가 최초로 실행)
• 노드와 노드셋
 노드는 tree 구조에서 사용되는 용어
XML문서자체를
의미
Root 노드
엘리먼트 노드
People 노드
텍스트 노드
Person 노드
노드셋
pet
name
Tom Smith
Putty
• 노드와 노드셋
브라우저에
msxml 내장
(xsl프로세서)
• Apply-templates element
 Match에서 지정된 element의 내용을 출력(다른 template 검색)
• 여러 element들의 templates 설정
 Match와 일치하는 노드가 있는 경우에 match 실행
 없는 경우에는 Text 노드 실행
people
person
pet
name
Tom Smith
Putty
<xsl:apply-templates select=“pet”/>
• Value-of element
 Element의 내용을 문자로 출력
요소경로
• Template의 name 속성
 반복적인 template을 사용하기 위해서 name 으로 선언
• Xsl:if element
 조건
Boolean값인 Xpath 표현식
• Xsl:if choose element
 자바의 switch 문과 동일
• Xsl:for-each element
 반복 처리
SESSION
03