1

私は、スクリプトが C++、xml、xsl、python..etc で記述され、いくつかのインターフェイスが確立されているコードの大規模なセットを学習しています。

この一連のコードには、いくつかの .efa スクリプト (xml 形式で記述された simkin スクリプト) があり、それらのほとんどには次のような識別子があります。

 CONST_ACTIVATION_STATE$ON

次に、これらの .efa ファイルを読み取り、この識別子を形式に従って解析する C++ コードを見つけます。なぜそのような種類の識別子が定義されているのか混乱していますが、後で xsl スクリプトでこれを見つけました

Example usage for efa's:
  <xsl:choose><xsl:when test="starts-with(string(../@name),'global:')">
     CONST_GLOB_DEF_<xsl:value-of select="script:toConstant(string(substring-after(../@name, ':')))"/>$<xsl:value-of select="script:toConstant(string(param/@name))"/>
     </xsl:when>
     <xsl:otherwise>
     CONST_<xsl:value-of select="script:toConstant(string(/task/@name))"/>_<xsl:value-of select="script:toConstant(string(../@name))"/>$<xsl:value-of select="script:toConstant(string(param/@name))"/>
     </xsl:otherwise>
  </xsl:choose>
  <p/>

この xsl スクリプト、C++ パーサー、および .efa ファイルを除いて、この種の識別子に関連する他のスクリプトは見つかりません。私はこの分野に不慣れなので、この識別子の定義が xsl スクリプトによるものかどうかを尋ねたいと思います。そして、「$」は特定の意味を持つxslの特殊文字ですか?このドル記号が気に入らない場合は、xsl スクリプトで変更してから、それに応じて efa および C++ スクリプトを変更できますか?

4

1 に答える 1

4

XSLT は XPath と密接に連携しており、XPath ではドル記号を使用して変数またはパラメーターの参照を開始するため、XSLT でのドル記号の意味のある使用は、たとえば

<xsl:variable name="var1" select="/foo/bar"/>
<xsl:value-of select="$var1"/>

ただし、サンプルでは、​​ドル記号はXSLT出力のテキストノードで発生し、XPath式では発生しません。その場合、ドル記号には特別な意味はなく、XSLT結果に含まれる数千のUnicode文字の1つにすぎません。コードの作成者に問い合わせるか、出力形式の仕様を読んで、その出力形式でドル記号に特別な意味があるかどうかを確認する必要があります。

于 2015-10-14T10:04:08.860 に答える