Xpath-wildcard

提供:Dev Guides
移動先:案内検索

XPath-ワイルドカード

XPathは、XPath式で使用されるノードに次のワイルドカードを定義します。

S.No. WildCard & Description
1 任意のノードと一致するために使用されます。
2

.

コンテキスト内の現在のノードを照合するために使用されます。

3

@*

任意の属性と一致するために使用

4

node()

任意のタイプのノードとの一致に使用

この例では、各学生を反復処理することにより、詳細を含む<student>要素のテーブルを作成します。

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>

student.xsl

<?xml version = "1.0" encoding = "UTF-8"?>
<xsl:stylesheet version = "1.0"
   xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">

   <xsl:template match = "/">
      <html>
         <body>
            <h2>Students</h2>
            <xsl:apply-templates select = "class/*"/>
         </body>
      </html>
   </xsl:template>

   <xsl:template match = "class/*">
      <xsl:apply-templates select = "@rollno"/>
      <xsl:apply-templates select = "firstname"/>
      <xsl:apply-templates select = "lastname"/>
      <xsl:apply-templates select = "nickname"/>
      <xsl:apply-templates select = "marks"/>
      <br/>
   </xsl:template>

   <xsl:template match = "@rollno">
      <span style = "font-size = 22px;">
         <xsl:value-of select = "."/>
      </span>
      <br/>
   </xsl:template>

   <xsl:template match = "firstname">
      First Name:<span style = "color:blue;">
         <xsl:value-of select = "."/>
      </span>
      <br/>
   </xsl:template>

   <xsl:template match = "lastname">
      Last Name:<span style = "color:green;">
         <xsl:value-of select = "."/>
      </span>
      <br/>
   </xsl:template>

   <xsl:template match = "nickname">
      Nick Name:<span style = "color:red;">
         <xsl:value-of select = "."/>
      </span>
      <br/>
   </xsl:template>

   <xsl:template match = "marks">
      Marks:<span style = "color:gray;">
         <xsl:value-of select = "."/>
      </span>
      <br/>
   </xsl:template>

</xsl:stylesheet>

出力を確認する

フォーマットされたワイルドカード出力