는 XPath 조합 연산자 사용 |
/*/States/State | /*/Cities/City
이 모든 State
XML 문서 의 상위 요소의 자식 인 모든 State
요소의 하위 요소와도 모든 City
요소를 선택을 모든 Cities
요소의 하위이며 XML. 서의 맨 위 요소의 하위 요소입니다.
하나 ... 다시는 XPath 조합을 사용하여 노드 유형을 하나 이상 일치하는 템플릿을 지정할 수 있습니다 XSLT에서 | 운영자 ('') 일치 패턴의 일부로 :
<xsl:template match=""City | State">
이 템플릿 규칙은 City
또는 State
요소와 일치합니다.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="City | State">
<xsl:copy-of select="*"/>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
이 변환이 제공된 XML 문서에 적용된다 :
<Country>
<States>
<State>
<name>1</name>
<id>California</id>
</State>
<State>
<name>2</name>
<id>Texas</id>
</State>
<State>
<name>3</name>
<id>New York</id>
</State>
</States>
<Cities>
<City>
<name>3</name>
<id>SFO</id>
</City>
<City>
<name>4</name>
<id>SAN DIEGO</id>
</City>
<City>
<name>5</name>
<id>ORLANDO</id>
</City>
</Cities>
</Country>
마지막
여기 어떤 City
또는 State
의 이름 및 번호를 출력하는 완료 변형이며
원하는 올바른 결과가 생성됩니다. :
<name>1</name>
<id>California</id>
<name>2</name>
<id>Texas</id>
<name>3</name>
<id>New York</id>
<name>3</name>
<id>SFO</id>
<name>4</name>
<id>SAN DIEGO</id>
<name>5</name>
<id>ORLANDO</id>