<xsl:attribute> 요소
특성 노드를 만들어 출력 요소에 첨부합니다.
<xsl:attribute
name = "attribute-name"
namespace = "uri-reference">
</xsl:attribute>
특성
- name
필수적 요소입니다. 만들려는 특성의 이름입니다. 이 값이 정규화된 이름(QName)인 경우namespace
특성으로 재정의하지 않으면 접두사에 현재 바인딩되어 있는 네임스페이스에 특성 노드가 생성됩니다.name
특성 값은 특성 값 템플릿으로 해석됩니다. 즉,<xsl:value-of>
요소에서와 같이 중괄호 안의 식은 계산된 후 문자열로 변환됩니다. 그러므로 소스 XML에서 특성 이름을 계산하거나 얻을 수 있습니다.
- namespace
생성된 특성의 네임스페이스 URI(Uniform Resource Identifier)입니다.name
특성에 QName이 포함된 경우 여기에 지정된 접두사는 네임스페이스 특성에 지정된 네임스페이스에 바인딩됩니다. 그러면 직렬화할 때 다른 네임스페이스 선언이 추가될 수 있습니다. 이 값은 특성 값 템플릿으로 해석됩니다.
요소 정보
설명
이 요소의 내용은 특성 값을 지정합니다.
<xsl:copy>
요소와 같이 출력을 생성하는 요소 내에 <xsl:attribute>
요소를 배치하면 변환하는 동안 특성을 추가하거나 수정할 수 있습니다. <xsl:attribute>
요소는 <xsl:element>
와 함께 사용할 수 있을 뿐 아니라 출력 요소에 직접 사용할 수도 있습니다.
요소에 자식을 추가하기 전에 모든 특성을 적용해야 합니다.
예제
이 간단한 예제에서는 XML 소스에서 값을 가져오는 특성을 생성하며 XML 소스에서 적합한 데이터를 검색하는 XPath 식을 사용하여 <IMG src="value-from-XML-source"/>
형식으로 출력을 생성합니다. 이 경우 적합한 데이터는 "imagenames/imagename"
입니다.
XSLT 파일
출력
<IMG src=" imagenames/imagename"/>
<xsl:attribute>
요소는 문서를 변환하기 전에 알려지지 않은 출력 특성을 동적으로 생성하는 데 매우 유용하지만 이미 특성을 알고 있는 경우에는 이 요소를 사용할 필요가 없습니다. 앞의 예제에서 IMG
요소에 src
특성이 포함된다는 것을 이미 알 수 있습니다. 문서를 변환하기 전에 이러한 사항을 알고 있으므로 <xsl:attribute>
요소를 사용할 필요가 없습니다. 다음을 사용하면 변환 구문을 단순화하면서 같은 결과를 얻을 수 있습니다.
<IMG src="{imagenames/imagename}"/>
특성 값 템플릿 대신 <xsl:attribute>
요소를 사용하면 다음을 수행할 수 있습니다.
특성 이름을 계산할 수 있습니다.
특성 생성과 함께 조건부, 템플릿 및 특성 집합을 사용할 수 있습니다.
<xsl:copy>
또는<xsl:element>
요소에 의해 생성된 요소에 특성을 추가할 수 있습니다.
이 단원에는 다음 전체 예제가 포함되어 있습니다.