XSLT <xsl:key> element

Definition and Usage

<xsl:key> na element ay pinakamataas na element, na nagdeklara ng isang pinangalang key (na inilalaan ang pangalan at halaga na mga pares para sa mga tinukoy na element ng XML na dokumento).

Ang key na ito ay ginagamit sa pamamagitan ng key() function sa style sheet, tumutulong sa iyo na makapagabot ng kahusayan sa pagbabasa ng pinagkakalooban ng element sa malalim na XML na dokumento...

Komentaryo:Ang key ay hindi dapat maging exclusive!

Grammar

<xsl:key
name="name"
match="pattern"
use="expression"/>

Attribute

Attribute Value Description
name name Mandatoryo. Tukuyin ang pangalan ng key.
match pattern Mandatoryo. Tukuyin kung anong node ang magiging pinagkilala ng key.
use expression

Mandatoryo. Tukuyin ang expression na gagamitin bilang halaga ng key.

Ang key value ay maaaring maging alinman sa mga sumusunod: attribute, child element, o ang content ng match na element.

Mga Halimbawa

Halimbawa 1

Humingi ng haka-haka na mayroon kang XML na file na may pangalan na "persons.xml":

<persons>
  <person name="Tarzan" id="050676"/>
  <person name="Donald" id="070754"/>
  <person name="Dolly" id="231256"/>
</persons>

Maaaring itakda mo ang isang key sa XSL na file tulad nito:

<xsl:key name="preg" match="person" use="@id"/>

Kung naisipang hanapin ang person na may id="050676", gamitin ang mga ito na code (sa XSL na file):

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
<xsl:key name="preg" match="person" use="@id"/>
<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="key('preg','050676')">
    <p>
    Id: <xsl:value-of select="@id"/><br />
    Name: <xsl:value-of select="@name"/>
    </p>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>