XSLT <khóa>

Phần tử thẻ <xsl: key> chỉ định một cặp tên-giá trị đã đặt tên được gán cho một phần tử cụ thể trong tài liệu XML. Khóa này được sử dụng với hàm key () trong biểu thức XPath để truy cập các phần tử được gán trong tài liệu XML.

Tờ khai

Sau đây là khai báo cú pháp của <xsl:key> thành phần.

<xsl:key 
   name = QName 
   match = Pattern 
   use = Expression > 
</xsl:key>

Thuộc tính

S. không Tên & Mô tả
1

Name

Tên của khóa sẽ được sử dụng.

2

Match

Các mẫu được sử dụng để xác định một nút giữ khóa này.

3

Use

Biểu thức XPath để xác định giá trị của các nút của tài liệu xml.

Thành phần

Number of Occurrences Vô hạn
Parent elements xsl: bảng định kiểu
Child elements không ai

Ví dụ demo

Ví dụ này tạo một bảng gồm phần tử <student> với thuộc tính của nó rollnovà con của nó <firstname>, <lastname>, <nickname> và <marks> bằng cách lặp qua từng học sinh. Nó kiểm tra key as firstname để là một trong các tên của học sinh và sau đó in ra thông tin chi tiết của học sinh.

students.xml

<?xml version = "1.0"?> 
<?xml-stylesheet type = "text/xsl" href = "students.xsl"?> 
<class> 
   <student rollno = "393"> 
      <firstname>Dinkar</firstname> 
      <lastname>Kad</lastname> 
      <nickname>Dinkar</nickname> 
      <marks>85</marks> 
   </student> 
   <student rollno = "493"> 
      <firstname>Vaneet</firstname> 
      <lastname>Gupta</lastname> 
      <nickname>Vinni</nickname> 
      <marks>95</marks> 
   </student> 
   <student rollno = "593"> 
      <firstname>Jasvir</firstname> 
      <lastname>Singh</lastname> 
      <nickname>Jazz</nickname> 
      <marks>90</marks> 
   </student> 
</class>

students.xsl

<xsl:stylesheet version = "1.0" 
   xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
   <xsl:key name = "firstname-search" match = "student" use = "firstname"/> 
   <xsl:template match = "/"> 
      <html> 
         <body> 
            <h2>Students</h2> 
            <table border = "1"> 
               <tr bgcolor = "#9acd32"> 
                  <th>Roll No</th> 
                  <th>First Name</th> 
                  <th>Last Name</th> 
                  <th>Nick Name</th> 
                  <th>Marks</th> 
               </tr> 
					
               <xsl:for-each select = "key('firstname-search', 'Dinkar')"> 
				
                  <tr> 
                     <td><xsl:value-of select = "@rollno"/></td> 
                     <td><xsl:value-of select = "firstname"/></td> 
                     <td><xsl:value-of select = "lastname"/></td> 
                     <td><xsl:value-of select = "nickname"/></td> 
                     <td><xsl:value-of select = "marks"/></td> 
                  </tr> 
					
               </xsl:for-each> 
            </table> 
         </body> 
      </html> 
   </xsl:template>  
</xsl:stylesheet>

Đầu ra