120 likes | 238 Views
XML with JAVA. chapter 10 : XSL. 학습목표. XSL 의 개념 XSL 의 기초 설정법 템플릿의 개념. XSL 의 개념. XSL 문서의 개념 : Extensible Stylesheet Language 의 약자로 xml 문서에 링크 되어 응용 프로그램에서 xml 문서가 어떤 포멧으로 출력될 지를 결정해 주는 언어이다 . XSL 의 변환 두 단계. 출처 : http://www.w3.org/TR/xsl/).
E N D
chapter 10 : XSL
학습목표 • XSL의 개념 • XSL의 기초 설정법 • 템플릿의 개념
XSL의 개념 • XSL 문서의 개념 • : Extensible Stylesheet Language의 약자로 xml 문서에 링크 되어 응용 프로그램에서 xml 문서가 어떤 포멧으로 출력될 지를 결정해 주는 언어이다. • XSL 의 변환 두 단계 출처 : http://www.w3.org/TR/xsl/)
XSL의 기초 설정법 • XSL 문서 • XSL 선언부 <?xml version=“1.0” encoding=“euc-kr”?> xml 문서의 선언부와 같다. 즉, xml 스펙을 준수한다. • stylesheet 엘리먼트 <xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform version=“1.0”>
XSL의 기초 설정법 • template 엘리먼트 Xml 문서의 변환 규칙 정의 <xsl:template match=“패턴”> 변환 규칙 </xsl:template> • match 속성 : 변환 규칙이 적용될 범위 • 루트 엘리먼트를 만나면 변환 규칙이 적용되게 하려면 <xsl:template match=“/”> 변환 규칙 </xsl:template> • member 요소를 만나면 변환 규칙이 적용되게 하려면 <xsl:template match=“/memberlist/member”> 변환 규칙 </xsl:template>
XSL의 기초 설정법 • XML 문서에 적용 <?xml version=“1.0” encoding=“euc-kr”?> <?xml stylesheet type=“text/xsl” href=“~.xsl”?> • apply-templates 특정 노드에 변환 규칙을 적용할 경우 사용 <xsl:apply-templates select=“패턴”/> • value-of 특정한 노드의 값을 가져올 때 사용 예제참조(ch10_1.xsl,ch10_1.xml)
XSL의 제어문 • xsl:if 지정한 조건을 만족할 경우에만 탬플릿 규칙 적용 <xsl:if test=“조건식”/> 변환 규칙 </xsl:if> <xsl:if test=“@kind=‘관리자’”> </xsl:if> 예제참조(ch10_2.xsl,ch10_2.xml)
XSL의 제어문 • xsl:choose 여러가지 조건에 따라 변환 규칙을 다르게 적용해야 할 경우 사용 <xsl:choose> <xsl:when test=“조건식”/> 변환규칙 </xsl:when> • <xsl:when test=“조건식”/> • 변환규칙 • </xsl:when> • <xsl:otherwise/> • 변환규칙 • </xsl:otherwise> </xsl:choose> 예제참조(ch10_3.xsl,ch10_3.xml)
XSL의 제어문 • xsl:for-each 대상 노드가 있는 만큼 반복해서 변환 규칙을 적용할 경우 사용 <xsl:template match=“패턴”> <xsl:for-each select=“패턴”> 변환규칙 </xsl:for-each> </xsl:template> 예제참조(ch10_4.xsl,ch10_4.xml)
XSL의 제어문 • 정렬하기 <xsl:sort select=“정렬기준 노드” data-type=“정렬시킬 노드 의 데이터타입(“text”|”number”) order=“정렬방식(“ascending”|”descending”/> <xsl:apply-templates select=“/memberlist/member”> <xsl:sort select=“name”/> <xsl:sort select=“@kind”/> <xsl:apply-templates> 예제참조(ch10_5.xsl,ch10_5.xml)
XSL의 제어문 • 번호 매기기 <xsl:template match=“패턴”> <xsl:number format=“번호형식”/> </xsl:template> 번호형식 : 1,a,A,і,Ⅰ,(1) 등 예제참조(ch10_6.xsl,ch10_6.xml)