1

XSLT を使用して、Open Office ライター ドキュメントの content.xml の既存のテーブル (テーブル式を使用) を変更しようとしています。

表式は属性値 astable:formula="ooow:sum<A1:C1>"です。ノードが xsl: for-each 内に表示されると、行の値は (出力 XML で) ソース XML の no-of 要素まで増加します。そのため、式は常に結果 XML の最初の行の値のみを参照します。XSLT 式を使用してセル参照を変更したいと考えています。

<xsl:for-each select="some xpath">
<table:table-row>
    <table:table-cell table:style-name="Table1.A1"><text:p text:style-name="Table_20_Contents">10</text:p></table:table-cell>
    <table:table-cell table:style-name="Table1.B1"><text:p text:style-name="Table_20_Contents">5</text:p></table:table-cell>
    <table:table-cell table:style-name="Table1.C1"><text:p text:style-name="Table_20_Contents">7</text:p></table:table-cell>
    <table:table-cell table:style-name="Table1.D1" office:value="1.79769313486232E+308" office:value-type="float" table:formula="ooow:sum<A1:C1>">
        <text:p text:style-name="Table_20_Contents">22</text:p>
    </table:table-cell>
</table:table-row>

次のような xslt 式を割り当てるにはどうすればよいですか

concat('ooow:sum A',position(), ':C', position(), '>') to XML attribute

よろしくお願いします。

4

1 に答える 1

1

式を中かっこで囲んで、属性値テンプレートを使用します。

<table:table-cell table:style-name="Table1.D1" office:value="1.79769313486232E+308"
   office:value-type="float" table:formula="{concat(....)}">
于 2013-07-01T09:52:34.077 に答える