Transforming XML with XSLT
==========================

### 개요

내용과 겉모양의 분리가 XML의 중요한 설계 특징입니다. XML 문서 구조는 결국 이 데이터를 어떻게 표시하는 게 좋을지에 관한 어떤 암시를 줄 필요로 방해받지 않은 내용 자체의 서로 다른 면(aspect) 사이의 중요한 관계를 반영하고 명확히 하기 위해 설계했습니다. 이 지적인 구조화는 데이터 전송이 더욱 자동화되는 것만큼 특히 중요하고 네트워크로 연결된 매우 이질적인 컴퓨터 사이에 일어난다.

아직은 결국 XML 문서에 저장된 많은 내용을 읽는 사람에게 표시할 필요가 있습니다. 왜냐하면 브라우저가 친근하고 유연성이 높은 인터페이스를 제공하기 때문에, 그것은 XML 내용의 표시 버전 같은 이상적인 전달 메커니즘입니다. 철저하게 아주 다양한 XML 기술을 이용하게 만들었기 때문에, Mozilla는 원 XML 문서와 스타일 입히기와 클라이언트 측 처리로 인한 서버 부담을 줄이기 위해 HTML 표시에 그들을 놓기로 쓰는 특수 스타일시트 둘 다를 처리할 필요가 있는 모든 메커니즘을 자체에 통합시킵니다.

오늘날, Gecko(the layout engine behind Mozilla와 Firefox)는 두 형태(form)의 XML 스타일시트를 지원합니다. 겉모습(글꼴, 색, 자리들)의 기본 조절을 위해 Gecko는 DHTML과 친근한 CSS를 씁니다. CSS1 전부와 CSS2 대부분을 지원합니다. 최근 생겨난 CSS3 표준 지원은 개발중입니다. CSS에 관한 추가 정보는 Eric Meyer's CSS pages를 보시기 바랍니다.

여기서 우리의 관심은 Gecko가 지원하는 스타일시트의 두 번째 형태인 XSLT 스타일시트에 대해서입니다. XSLT는 eXtensible Stylesheet Language/Transform을 나타내고 그 이름은 적절합니다. XSLT는 스타일시트 만든 이가 그러길 바란다면 컨텐트를 모조리 다시 정리하고 다른 형식으로 변환하는 것을 포함하는 컨텐트 조작(manipulating)과 정렬이라는 중요한 두 방식으로 본래 XML 문서를 변환하게 합니다(그리고 Mozilla의 경우에, 초점은 브라우저에 표시될 수 있는 HTML로 즉시 변환하는 데 있습니다).

### XSLT/XPath 참조

#### 요소

* xsl:apply-imports *(지원함)*
* xsl:apply-templates *(지원함)*
* xsl:attribute *(지원함)*
* xsl:attribute-set *(지원함)*
* xsl:call-template *(지원함)*
* xsl:choose *(지원함)*
* xsl:comment *(지원함)*
* xsl:copy *(지원함)*
* xsl:copy-of *(지원함)*
* xsl:decimal-format *(지원함)*
* xsl:element *(지원함)*
* xsl:fallback *(지원 안 함)*
* xsl:for-each *(지원함)*
* xsl:if *(지원함)*
* xsl:import *(대부분 지원)*
* xsl:include *(지원함)*
* xsl:key *(지원함)*
* xsl:message *(지원함)*
* xsl:namespace-alias *(지원 안 함)*
* xsl:number *(부분 지원)*
* xsl:otherwise *(지원함)*
* xsl:output *(부분 지원)*
* xsl:param *(지원함)*
* xsl:preserve-space *(지원함)*
* xsl:processing-instruction
* xsl:sort *(지원함)*
* xsl:strip-space *(지원함)*
* xsl:stylesheet *(부분 지원)*
* xsl:template *(지원함)*
* xsl:text *(부분 지원)*
* xsl:transform *(지원함)*
* xsl:value-of *(부분 지원)*
* xsl:variable *(지원함)*
* xsl:when *(지원함)*
* xsl:with-param *(지원함)*

#### 축

* ancestor
* ancestor-or-self
* attribute
* child
* descendant
* descendant-or-self
* following
* following-sibling
* namespace *(지원 안 함)*
* parent
* preceding
* preceding-sibling
* self

#### 함수

* boolean() *(지원함)*
* ceiling() *(지원함)*
* concat() *(지원함)*
* contains() *(지원함)*
* count() *(지원함)*
* current() *(지원함)*
* document() *(지원함)*
* element-available() *(지원함)*
* false() *(지원함)*
* floor() *(지원함)*
* format-number() *(지원함)*
* function-available() *(지원함)*
* generate-id() *(지원함)*
* id() *(부분 지원)*
* key() *(지원함)*
* lang() *(지원함)*
* last() *(지원함)*
* local-name() *(지원함)*
* name() *(지원함)*
* namespace-uri() *(지원함)*
* normalize-space() *(지원함)*
* not() *(지원함)*
* number() *(지원함)*
* position() *(지원함)*
* round() *(지원함)*
* starts-with() *(지원함)*
* string() *(지원함)*
* string-lenght() *(지원함)*
* substring() *(지원함)*
* substring-after() *(지원함)*
* substring-before() *(지원함)*
* sum() *(지원함)*
* system-property() *(지원함)*
* translate() *(지원함)*
* true() *(지원함)*
* unparsed-entity-url() *(지원 안 함)*
### 더 읽을 거리

* Books
* Online
    + The World Wide Web Consortium
    + Portals
    + Articles
    + Tutorials/Examples
    + Mailing Lists/Newsgroups
### 찾아보기

### 원본 문서 정보

* 저작권 정보: Copyright © 2001-2003 Netscape. All rights reserved.
* 주의: 이 재판 article은 원래 DevEdge 사이트 부분이었습니다.