0

したがって、ノード @style にいくつかのスタイル コンテンツが保存されており、それを呼び出して<span>タグのスタイル属性を形成したいと考えています。それも不十分なので、タグmargin-left:700pxのスタイル属性の一部に as を付けたいと思います。<span>これは実行可能ですか?

ちなみに、クライアントから提供されているため、xslが呼び出しているデータベースを編集することはできません

<span style="<xsl:copy-of select="Root/Node/MyFile/MyStyle/@style" margin-left:700px">
    <xsl:copy-of select="Root/Node/MyFile/MyCaption/Caption"/>
</span>

ところで、私は上記を試しましたが、Altova は文字が文法的に予期しない<ものであると不平を言っています。<xsl...

4

3 に答える 3

3

あなたの引用符はおそらく XSLT を台無しにしています。これを試してください:

<span>
    <xsl:attribute name="style">
      <xsl:copy-of select="Root/Node/MyFile/MyStyle/@style" />
      <xsl:text> margin-left:700px</xsl:Text>
    </xsl:attribute>

    <xsl:copy-of select="Root/Node/MyFile/MyCaption/Caption"/>
</span>

現時点ではテストできませんが...

于 2012-09-04T16:16:22.497 に答える
0

この場合、「属性値テンプレート」について学習することをお勧めします。これにより、コードを属性に直接「埋め込む」ことができます。

 <span style="{Root/Node/MyFile/MyStyle/@style}" margin-left:700px">
     <xsl:value-of select="Root/Node/MyFile/MyCaption/Caption"/>
 </span> 

ここでの中括弧{および}は、属性値テンプレート(AVT)を示し、中括弧内のコードを実行して値を取得する必要があることを示します。

ただし、xpath式'Root / Node / MyFile / MyStyle /@style'が実際に正しい値を返すことを確認する必要があります。

于 2012-09-04T16:50:53.477 に答える
0

そのようにネストすることはできませんが、似たようなことはできます:

「style_var」という名前の変数と CSS があるとします。

<xsl:variable name="style_var">color: blue;</xsl:variable>

そして、HTML 要素、スパン:

<span>
   ...
</span>

私はあなたがこれを行うことができるとかなり確信しています:

<span>
  <xsl:attribute name="style">
      <xsl:value-of select="$style_var" /> 
      <xsl:text>margin-left: 100px;</xsl:Text>
  </xsl:attribute>
</span>

また、変数セレクターを上記で使用していたノード セレクターと交換することもできます。

于 2012-09-04T16:15:09.900 に答える