1

この動的な Web サイトでは、URL は次のようになります: departments/CHEM.html

CHEM はパラメーターです。

     <xsl:param name="dep" select="'CHEM'" />

xml の一部を以下に示します

<course acad_year="2012" cat_num="5085" offered="Y">
  <term term_pattern_code="1" fall_term="Y" spring_term="N">fall term</term>
  <department code="CHEM">
     <dept_long_name>Department of Chemistry and Chemical Biology</dept_long_name>
     <dept_short_name>Chemistry and Chemical Biology</dept_short_name>
  </department>
</course> ....

H1 タグで使用する dept_short_name を取得しようとしていますが、成功していません。

<h2><xsl:value-of select="course/department/[code={@$dep}]"/></h2>

助言がありますか???ありがとう!

4

2 に答える 2

1

使用するだけです:

<xsl:value-of select="course/department[@code eq $dep]/dept_short_name"/>

覚えておいてください

XPath 2.0 (XSLT 2.0) では、値の比較に演算子を使用します。これは、オペランドの少なくとも 1 つがシーケンスである場合にのみ使用する必要があるeq一般的な比較演算子よりも効率的です。=

于 2012-10-13T23:31:54.433 に答える
1

私はこれを試してみます:

<xsl:value-of select="course/department[@code=$dep]/dept_short_name/text()"/>

つまり、コード属性がパラメーター「dep」の値である部門要素 (コース要素内) を見つけ、次に dept_short_name 子要素を見つけ、その要素内のテキストを取得します。

「コード」が属性であることを示すには を使用する必要@がありますが、「dep」にはそれを含めるべきではありません。{}この表記は、スタイルシートの非 XSLT 要素の属性内で使用するためのものだと思うので、value-of式内では使用しません。

于 2012-10-13T22:29:50.110 に答える