Java XML - xsl:template

2023. 1. 19. 16:01Java

프로젝트 내 xsl_test01.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- XSLT 프로세싱 지시자
    <?xml-stylesheet type="text/xsl" href="XSL문서 경로"?>
-->
<!-- <?xml-stylesheet type="text/xsl" href="xsl_test01.xsl"?> -->
<?xml-stylesheet type="text/xsl" href="xsl_test02.xsl"?>

<도서리스트>
    <책>XML 기초</책>
</도서리스트>

프로젝트 내 xsl_test02.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <!-- 기본적인 루트엘리먼트 -->
    <xsl:output method="html"/>
    
    <xsl:template match="/">
        <!-- match /는 문서전체를 선택한다 -->
        <html>
            <body>
                <font color="red">
                    <xsl:value-of select="/도서리스트/책"/>
                </font>
            </body>
        </html>
    </xsl:template>
    
    <!-- 템플릿 룰의 개념
        : 어떤 구조를 다른 구조로 변경하는 방법을 의미
          XSL 템플릿 룰은 원본 XML문서의 특정노드 또는 루트노드를 다른 구조의 노드(엘리먼트)로
          바꾸는 실제 내용을 작성한다.
          
          <xsl:template match="원본 xml문서의 노드 지정">
          
          match의 속성값 : 
          . /(루트노드) - 문서 자체(즉,문서전체)를 의미함(루트노드)
          . 노드명/ .../노드명 - 특정한 노드의 경로를 지정해서 노드를 지정
          . //노드명 또는 노드명 - 경로와는 상관없이 동일한 이름의 노드 또는 노드들을 지정
          . /노드명/노드명[@속성명 = "속성값"] - 특정 속성값을 갖는 노드 또는 노드들을 지정
          . /노드명/노드명[@속성명 != "속성값"] - 특정 속성값을 제외한 속성값을 갖는 노드나 노드들을 지정
    -->
</xsl:stylesheet>

xsl_test01.xml 을 XML > View in Browser/System Application 을 눌러 브라우저로 본다.

'Java' 카테고리의 다른 글

Java XML - xsl:value-of 태그의 select 속성  (0) 2023.01.19
Java XML - xsl:apply-templates  (0) 2023.01.19
Java XML - xsl:value-of  (0) 2023.01.19
Java XML - xsl:variable  (0) 2023.01.19
Java XML - xsd location path  (0) 2023.01.19