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