2017-08-18 15 views
0

XSLファイルを使用してXMLスプレッドシートを作成しようとしていますが、この作業の基本はわかりましたが、ビット。 XMLファイル内の6番目の列には、いくつかのレコードの1が含まれていると私はFlagBoldフィールド/第六のCOLは、1XSL - XMLをExcelにエクスポートして太字のスタイルを動的に追加する

に等しい任意の行に大胆なスタイルを適用するには、出力を変更したいと思いますここに私の現在のXMLです:

私のXSLファイルで
<?xml version="1.0" encoding="utf-8"?> 
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult"> 
    <ERRORCODE>0</ERRORCODE> 
    <PRODUCT BUILD="06-06-2017" NAME="FileMaker" VERSION="ProAdvanced 16.0.2"/> 
    <METADATA> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="ColumnA" TYPE="TEXT"/> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="ColumnB" TYPE="TEXT"/> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="ColumnC" TYPE="TEXT"/> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="ColumnD" TYPE="TEXT"/> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="ColumnE" TYPE="TEXT"/> 
     <FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="FlagBold" TYPE="TEXT"/> 
    </METADATA> 
    <RESULTSET FOUND="6"> 
     <ROW MODID="0" RECORDID="900"> 
      <COL> 
       <DATA>Created: 15-August-2017</DATA> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA>1</DATA> 
      </COL> 
     </ROW> 
     <ROW MODID="0" RECORDID="901"> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
     </ROW> 
     <ROW MODID="1" RECORDID="902"> 
      <COL> 
       <DATA>Name</DATA> 
      </COL> 
      <COL> 
       <DATA>ID</DATA> 
      </COL> 
      <COL> 
       <DATA>Category</DATA> 
      </COL> 
      <COL> 
       <DATA>Number</DATA> 
      </COL> 
      <COL> 
       <DATA>Amount</DATA> 
      </COL> 
      <COL> 
       <DATA>1</DATA> 
      </COL> 
     </ROW> 
     <ROW MODID="1" RECORDID="904"> 
      <COL> 
       <DATA>Acme Corp Pty Ltd</DATA> 
      </COL> 
      <COL> 
       <DATA>123456</DATA> 
      </COL> 
      <COL> 
       <DATA>Category 1</DATA> 
      </COL> 
      <COL> 
       <DATA>1</DATA> 
      </COL> 
      <COL> 
       <DATA>$456.78</DATA> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
     </ROW> 
     <ROW MODID="1" RECORDID="905"> 
      <COL> 
       <DATA>Demo Company Pty Ltd</DATA> 
      </COL> 
      <COL> 
       <DATA>987654</DATA> 
      </COL> 
      <COL> 
       <DATA>Category 2</DATA> 
      </COL> 
      <COL> 
       <DATA>1</DATA> 
      </COL> 
      <COL> 
       <DATA>$789.32</DATA> 
      </COL> 
      <COL> 
       <DATA/> 
      </COL> 
     </ROW> 
    </RESULTSET> 
</FMPXMLRESULT> 

私はこのスタイルがあります。

 <Style ss:ID="MyTitleStyle"> 
      <Alignment ss:WrapText="0" /> 
      <Font ss:Bold="1"/> 
     </Style> 

を、私はここの行を処理しています:

<xsl:for-each select="fmp:FMPXMLRESULT/fmp:RESULTSET/fmp:ROW"> 
    <Row> 
     <xsl:for-each select="fmp:COL"> 
      <Cell> 
       <xsl:if test="fmp:COL[6]/fmp:DATA = 1"> 
        <xsl:attribute name="ss:StyleID">MyTitleStyle</xsl:attribute> 
       </xsl:if>   
       <Data ss:Type="String"> 
        <xsl:value-of select="." /> 
       </Data> 
      </Cell> 
     </xsl:for-each><!-- next column --> 
    </Row> 
</xsl:for-each><!-- next row --> 

が作成されていて、ここで間違っているかどうかわからない.xlsスプレッドシートファイルに大胆なスタイルはありませんか?中

答えて

0

テスト:

<xsl:for-each select="fmp:COL"> 

に変更し、それを::

<xsl:if test="../fmp:COL[6]/fmp:DATA = 1"> 

<xsl:if test="fmp:COL[6]/fmp:DATA = 1"> 

はの文脈からtrueを返すことはありません

関連する問題