2017-09-21 34 views
0

次のXSLを使用してチェックボックスを設定しましたが、valueは空です。値がdept,regioncategoryになるようにする必要があります。助けてください。ここでXSL設定値チェックボックス

は、XSLです:

<xsl:key name="dept" match="/items/item/dept/text()" use="." /> 
<xsl:key name="region" match="/items/item/region/text()" use="." /> 
<xsl:key name="category" match="/items/item/category/text()" use="." /> 

<xsl:template match="/"> 
    <div class="w3-container w3-cell" style="background-color:#949494"> 
     <form> 
      <xsl:for-each select="/items/item/dept/text()[generate-id() 
       = generate-id(key('dept',.)[1])]"> 
       <input type="checkbox" name="dept" value="{dept}" />Department <xsl:value-of select="."/><br></br> 
      </xsl:for-each> 
      <br></br> 
      <xsl:for-each select="/items/item/region/text()[generate-id() 
       = generate-id(key('region',.)[1])]"> 
       <input type="checkbox" name="region" value="{region}" /> Region <xsl:value-of select="."/><br></br> 
      </xsl:for-each> 
      <br></br> 
      <xsl:for-each select="/items/item/category/text()[generate-id() 
       = generate-id(key('category',.)[1])]"> 
       <input type="checkbox" name="category" value="{category}" /> <xsl:value-of select="."/><br></br> 
      </xsl:for-each> 
      <br></br> 
      <input type="text" placeholder="Search Text.." /> 
      <br></br><br></br> 
      <input type="submit" value="Submit"/> 
      <br></br><br></br> 
     </form> 
</xsl:template> 

出力は次のようになります。

<input> type="checkbox" name="dept" value="dept1">Department 1 
<input> type="checkbox" name="dept" value="dept1">Department 2 
<input> type="checkbox" name="dept" value="region1">Region 1 
<input> type="checkbox" name="dept" value="region2">Region 2 
<input> type="checkbox" name="dept" value="category1">Category 1 
<input> type="checkbox" name="dept" value="category2">Category 2 

のように私のxmlに見える:問題は、この行(および同様のものである

<?xml version="1.0" encoding="UTF-8"?> 
<items> 
    <item> 
     <number>1</number> 
     <dept>1</dept> 
     <region>region1</region> 
     <category>category1</category> 
     <description> 
      <pp> 
       <line> 
        This is line 1 of description of item 1. 
       </line> 
       <line> 
        This is line 2 of description of item 1. 
       </line> 
       <line> 
        This is line 3 of description of item 1. 
       </line> 
      </pp> 
     </description> 
    </item> 
    <item> 
     <number>2</number> 
     <dept>2</dept> 
     <region>region1</region> 
     <category>category2</category> 
     <description> 
      <pp> 
       <line> 
        This is line 1 of description of item 2. 
       </line> 
       <line> 
        This is line 2 of description of item 2. 
       </line> 
       <line> 
        This is line 3 of description of item 2. 
       </line> 
      </pp> 
     </description> 
    </item> 
    <item> 
     <number>3</number> 
     <dept>2</dept> 
     <region>region2</region> 
     <category>category2</category> 
     <description> 
      <pp> 
       <line> 
        This is line 1 of description of item 3. 
       </line> 
       <line> 
        This is line 2 of description of item 3. 
       </line> 
       <line> 
        This is line 3 of description of item 3. 
       </line> 
      </pp> 
     </description> 
    </item> 
</items> 
+1

あなたがあなたの入力XMLのサンプルを示してくださいへの質問を編集することができます...これを行う、現在deptの値ではなく、子供を取得するには?ありがとうございました。 –

+0

@TimC xmlを追加しました。前もって感謝します。 –

答えて

1

地域およびカテゴリの場合)

<input type="checkbox" name="dept" value="{dept}" /> 

この時点ですでにdept要素に配置されているので、このコードはdeptという名前の子要素を探しています。

<input type="checkbox" name="dept" value="{.}" /> 
+0

ああ、そうです。ありがとう。 –

関連する問題