○XSL (Extensible Stylesheet Language)

 ▷XML문서를 다른 텍스트 기반의 문서로 바꾸는 XML 문서

 ▷XSLT : XSL Transformation

 

 ▶선행 지시자

  ▷namespace =  http://www.w3.org/1999/XSL/Transform 

  ▷output

   ▷속성 method : 바꿀 문서 Type

   ▷속성 doctype-system = about:legacy-compact

  ▷template

   ▷속성 match =  "/" -> root에 맞춘다?

 

 ▶XPath

  ▷XML요소의 위치를 알려주는 주소.

  ▷모든 노드의 Tree 구조를 해석하지 않고, 주소를 따라 찾아간다.

  ▷모든 노드가 정상적으로 구성되어야 한다. (Schema, DTD의 문법을 어겨서는 안됨)

  ▷XML문서 직접 연결 -> xml:stylesheet processing instruction

 

  ▶규칙

   ▷/ : Root, 주소 구분자. (자식 요소)

    ▷Absolute address : /로 시작

    ▷Relative address : /로 시작하지 않음

   ▷~//* : ~의 모든 자식 노드들.

 

   ▷@~ : 속성값

 

   ▷name() : tag명

   ▷text() : start ~ end 태그 사이의 값.

 

   ▷기타

 

 ▶문법

  ▶<xsl:template match="Expression"/> : 특정 노드가 일치할 때, 해당 노드에 적용할 규칙들

   ▷<xsl:template match="/"> : 템플릿 전체를 문서와 연결

 

 

  ▶<xsl:value-of select="Expression"/> : element의 값

    ▷주소 -> @atName : attribute의 값

  ▶<xsl:apply-templates/> : 해당 node, node의 자식에 대해 template을 적용시킴.

   ▷속성 select="Expression" : Expression에 맞는 node의 자식에 대해 template을 적용시킴.

 

  ▶<xsl:for-each select="Expression"> : Expression에 맞는 자식 node들을 순회한다.

 

  ▶<xsl:sort select="Expression"> : Expression에 맞는 자식들을 정렬한다

   ▷속성 data-type : 해당 데이터 타입으로 해석한다.

    ▷number : 수 / text : 문자열 (사전순)

   ▷속성 order : 내림차(descending), 오름차(ascending)을 정한다.

 

  ▶<xsl:variable name = "varName" select="Expression"> : Expression을 만족하는 node의 값을 변수로 저장한다.

   ▷sum(v) : 만족하는 Expression의 값들의 합

'컴퓨터 언어 > XML' 카테고리의 다른 글

DTD  (0) 2020.11.18
XML  (0) 2020.11.18

+ Recent posts