目的のファイルを生成するために、XSLT を使用して.ods
ファイル ( zip のファイル)を変換しようとしています。content.xml
.xml
XSLT は要素の「固定」位置を使用してコンテンツを取得しますが、私の.ods
ファイルには多くの空白フィールドがあり、それらを XSLT でカウントする方法がわかりません。
content.xml
さらに、これらの空白(空の)セルが保存されるかどうかを調べるために、いくつかの実験を行いました。
私はcontent.xml
次のようなものを見つけました:
<table:table-column table:style-name="co1" table:number-columns-repeated="16384" table:default-cell-style-name="ce1"/>
<table:table-row table:number-rows-repeated="1048576" table:style-name="ro1">
これらの値は、空のセルまたはファイル内の値の実際の場所を何らかの方法で (たとえば、数学的な計算で) 表しているの.ods
でしょうか?
より明確なアイデアを得るために、ここでドキュメントを共有します
.ods
例:
これは私のXSLTファイルです:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:espd="urn:com:grow:espd:02.00.00" xmlns:cac="urn:X-test:UBL:Pre-
award:CommonAggregate" xmlns:cbc="urn:X-test:UBL:Pre-award:CommonBasic"
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="office:spreadsheet/table:table">
<xsl:variable name="test" select="table:table-row/table:table-cell"/>
<p><xsl:value-of select="$test/text:p[1]"/></p>
</xsl:template>
出力は次のとおりです。
ブラク ブラク5 ブラク6 ブラク2 ブラク3 ブラク4 ブラク7 ブラク9 ブラク8 ブラク10
質問:
に変換を適用してセルから単一の値を取得する方法はcontent.xml
?
(例: セルだけに到達する方法はD4
?)