XSLT 요소
XSLT elementsXSLT(Extensible Stylesheet Language Transformations)는 문서에 적용되어야 하는 변환을 설명하기 위해 많은 요소를 정의한다. 이 글에는 이러한 요소들이 나열되어 있다. XSLT에 대한 자세한 내용은 주요 문서를 참조하십시오.
XSLT 논리 요소
| 노드 | 설명/속성 | 컨테이너/어린이 | 예 |
|---|---|---|---|
| xsl:appy-properties | 해당 노드 내에 다른 일치가 존재할 수 있음을 지정한다. 이 일치가 지정되지 않은 경우 일치는 무시된다. 선택을 지정하면 선택한 노드나 속성 유형에 맞는 "일치"를 지정하는 템플릿만 적용된다. 즉, xsl:appy-template의 선택 속성에 의한 일치 요소는 동일한 요소와 일치하는 템플릿에 해당한다. 모드를 지정하면 "모드"가 같고 적절한 "일치"가 있는 템플릿만 적용된다. | 부모라면 누구나. 임의 개수의 xsl:sort 및 xsl:with-param 하위 항목을 포함할 수 있다. | <xsl:appy-properties>/> |
| xsl:선택 | 여러 가지 선택. 속성 없음. | 부모라면 누구나. xsl:블록 및 최대 하나의 xsl:기타 블럭 포함. | <xsl:선택> … </xsl:선택> |
| xsl:각각 | 매 일치에 반복되는 루프를 만든다. 일치 기준 지정을 선택하십시오. | 부모라면 누구나. 모든 XML을 포함할 수 있음. | <각 선택용 xsl:"input[@name=$name]"> …</xsl:각 선택용> |
| xsl:if | Yes or out 조건 없음. 테스트는 if를 입력하기 위한 기준을 지정한다. | 부모라면 누구나. 모든 XML을 포함할 수 있음. | <xsl:if test="$type='text' 또는 $type='password'> …</xsl:if> |
| xsl:message | 기준이 충족되지 않을 때 xsl: 중 어느 것도 선택하지 않는 경우 기본 선택. | xsl:선택하십시오. 모든 XML을 포함할 수 있음. | <xsl:csl> …</xsl:csl> |
| xsl:스타일시트 | 최상위 요소. 스타일시트 문서에서 한 번만 발생. 버전은 사용 중인 XSLT 버전을 지정한다. xmlns:xsl은 해당 표준의 URL을 지정한다. | 최상위 요소. 모든 XML 포함. | <xsl:스타일시트> …</xsl:스타일시트> |
| xsl:message | 처리 템플리트를 지정하십시오. 일치사항은 템플리트를 사용해야 하는 경우. name은 xsl:call-properties가 이 템플릿을 호출하는 데 사용할 수 있는 이름을 템플릿에 부여한다. | xsl:스타일시트. 모든 XML을 포함할 수 있음. | <xsl:match="//match"> …</xsl:message> |
| xsl:message | 변수를 선언할 수 있음. 이름은 변수 이름이다. 다음에 언급할 수 있다. $name. select는 변수의 값이다. | 부모라면 누구나. 자식이 없다. | <xsl:variablevariable 이름을 붙이다"형식" 선택하다="@type"/> |
| xsl:when | 예 또는 아니오 조건. 테스트는 if를 입력하기 위한 기준을 지정한다. | xsl:선택하십시오. 모든 XML을 포함할 수 있음. | <xsl:when test="$type='radio'> …</xsl:when> |
로직 요소를 사용한 XSLT 스타일시트 예제
<xsl:스타일시트>> <xsl:templatetemplate 일치하다="//"> <xsl:variablevariable 이름을 붙이다"형식" 선택하다="@type"/> <xsl:variablevariable 이름을 붙이다"이름" 선택하다="@name"/> <xsl:if 시험="$type='text' 또는 $type='password' 또는 $type='radio' 또는 $type='type='field'"> <xsl:선택> <xsl:when 시험="$type='라디오'"> <xsl:if 시험=not(not(not)-diplus::diplus[@type='radio'))"> <선택하다 이름을 붙이다"{@name}"> <xsl:각자용 선택하다="../filename[@name=$name]"> <선택권 값어치="{@value}"> <xsl:appy-properties>/> </옵션> </xsl:각각> </선택> </xsl:if> </xsl:when> <xsl:when 시험="$type='text'"> << input> 이름을 붙이다"{@name}" 타자를 치다"{@type}"> <xsl:appy-properties>/> </기호> </xsl:when> <xsl:when 시험="$type='password'"> << input> 이름을 붙이다"{@name}" 타자를 치다"{@type}"> <xsl:appy-properties>/> </기호> </xsl:when> </xsl:선택> </xsl:if> </xsl:template> </xsl:스타일시트> XSLT 파일 I/O 요소
| 노드 | 설명/속성 | 컨테이너/어린이 | 예 |
|---|---|---|---|
| xsl:call-properties | 이름이 지정된 템플릿을 호출한다. 이름은 xsl:csl의 이름과 일치한다. | 부모라면 누구나. 아이들은 xsl:with-param이다. | <xsl:call-call-properties> 이름을 붙이다"lib:make-elem"> |
| xsl:가져오기 | 다른 XSLT 파일 검색 href는 파일의 URI이다. | xsl:스타일시트. 아이가 없다. | <xsl:가져오기 href="..\도서관\FuncLib.xslt"/> |
| xsl:출력 | 데이터를 반환하는 방법을 설명한다. 메소드는 반환되는 데이터의 종류를 지정한다. dipt-xml-install은 초기 xml 태그를 포함해야 하는지 여부를 나타낸다. 인코딩은 데이터가 반환되는 방법을 지정한다. | xsl:스타일시트. 아이가 없다. | <xsl:outputput 방법="xml" exput-xml-instit ="예" 인코딩="UTF-8"/> |
| xsl:param | xsl:call-template로 템플릿에 전달할 수 있는 매개 변수를 지정하십시오. | xsl:message. 아이가 없다. | <xsl:param> 이름을 붙이다"엘렘 이름"/> |
| xsl:텍스트 | 태그 내용을 출력한다. | 부모라면 누구나. 아이가 없다. | <xsl:text>ClaimNumber</xsl:text> |
| xsl:value-of | 변수를 출력한다. select는 변수를 지정한다. | 부모라면 누구나. 아이가 없다. | <xsl:value-of> 선택하다="$s"/> |
| xsl:모수 포함 | xsl:call-template에 전달된 매개 변수를 지정하십시오. 템플릿의 xsl:param과 일치해야 한다. 이름은 매개 변수 이름을 지정한다. 선택 매개변수 값 지정 | xsl:call-controls. 아이가 없다. | <xsl:with-param> 이름을 붙이다"엘렘 이름" 선택하다="hma:ClaimNumber"/> |
클라이언트측 XSLT는 루트 XML 태그 바로 뒤에 있는 소스 XML 파일에 다음과 같은 줄을 추가하여 브라우저에서 구현할 수 있다.
<?xml-스타일시트 유형="text/xsl" href="family.xsl"?> 이것은 http://www.xml.com/pub/a/2000/10/25/msie/index.html 페이지에 설명되어 있다.
기타 XSLT 의미론
| 심볼 | 의미 | 사용한 곳에 |
|---|---|---|
| 노조 운영자 XPath 식에서 노드 집합을 그룹화하는 데 사용됨. | xsl:when, xsl:if, xsl:for-와 같은 요소의 속성을 선택하십시오. |
& | 그리고 | 조건부 또는 일치 기준(예: xsl:if.test, xsl:when.test, xsl:limit.select 및 xsl:for-for-each.select). |
<!-- | 논평을 시작하다 | 태그가 없는 곳이면 어디든 말이야 |
--> | 논평을 끝내다 | 태그가 없는 곳이면 어디든 말이야 |
$ | 변수 이름의 시작 | xsl:value-of.select 및 xsl:variable.name과 같은 태그의 모든 위치. |
name() | 처리 중인 태그 이름 일치 기준에 포함된 경우 유용함 s(파이프 기호). | 조건부 또는 일치 기준(예: xsl:if.test, xsl:when.test, xsl:limit.select 및 xsl:for-for-each.select). |
@ | XML 내의 속성 | 조건부 또는 일치 기준(예: xsl:if.test, xsl:when.test, xsl:limit.select 및 xsl:for-for-each.select). |
XSLT에 의해 정의된 함수
xsl:value-of.select 및 xsl:for-select와 같은 많은 XSLT 속성에서 다음과 같은 기능이 발생할 수 있다.
| 함수 | 설명/구문 | 예 |
|---|---|---|
| 천장 | 천장 함수는 숫자 인수의 숫자 값보다 크거나 같은 최소 정수를 반환한다. | 천장(3.57) |
| 콘카트 | 둘 이상의 문자열을 연결한다. | 콘카트($fname, ' ', $이름을 붙이다) |
| 포함하다[2] | 첫 번째 문자열에 두 번째 문자열이 포함된 경우 true를 반환하고, 그렇지 않은 경우 false를 반환한다. | 포함하다('검색할 문자열', '찾다') |
| 수를 세다 | 카운트 함수는 노드 집합의 노드 수를 카운트 및 반환한다. | 수를 세다(요소들) |
| 마루를 깔다 | 바닥 함수는 숫자 인수의 숫자 값과 같거나 작은 가장 큰 정수를 반환한다. | 마루를 깔다(3.57) |
| 공간을 정상화하다 | 문자열의 시작 및 끝에서 공백 제거 | 공간을 정상화하다($fname) |
| 포지션 | 위치 함수는 xsl:for-for-또는 xsl:appy-template 요소 노드 목록에 의해 처리되는 현재 노드의 단일 기반[3] 인덱스를 반환한다. 논쟁은 없다. | 포지션() |
| 둥글게 | 라운드 함수는 숫자를 가장 가까운 정수로 반올림한다. | 둥글게(3.57) |
| 끈을 매다 | 문자열 함수는 값 인수를 문자열로 변환한다. | 끈을 매다() |
| 현 길이의 | 문자열 길이 함수는 문자열의 문자 수를 반환한다. 문자열 인수는 선택 사항이다. 생략할 경우 기본값은 컨텍스트 노드의 문자열 값을 사용하는 것이다. | 현 길이의('여보세요') |
| 하위 문자열 | 변수 값 내의 세그먼트. Substring은 입력 변수, 첫 번째 선택 문자, 그리고 결과 문자열의 길이 등 세 가지 매개변수를 사용한다. | 하위 문자열($도브,4,2) |
| 차후변환 | 하위 문자열-후방 함수는 하위 문자열 인수에 지정된 하위 문자열 뒤에 발생하는 문자열 인수에 지정된 문자열 중 일부를 반환한다. | 차후변환('1814년에 우리는 약간의 여행을 했다.', '우리') |
| 이전의 하위 문자열 | 하위 문자열 전 함수는 하위 문자열 인수에 지정된 하위 문자열 앞에 발생하는 문자열 인수에 지정된 문자열 중 일부를 반환한다. | 이전의 하위 문자열('1814년에 우리는 약간의 여행을 했다.', '우리') |
| 합계를 내다 | 합계 함수는 노드 집합 또는 값 목록에 숫자 값 집합의 총 값을 추가 및 반환한다. | 합계를 내다(1,3,7,12) |
| 번역하다 | 값 인수의 문자열을 가져오고 문자열1 인수의 모든 발생 문자를 문자열2 인수의 동일한 위치에 있는 대체 문자로 바꾸고 수정된 문자열을 반환한다. | 번역하다('밴드', 'abcd', 'ABCD') = 'BAND' |
외부 링크
- W3C XSLT 1.0 권장 사항 - XSLT 1.0의 전체 구문과 의미 설명
- W3C XSLT 2.0 권장 사항
- XSLT 요소 참조 - W3School 기준