2012-11-28 25 views
0

我有一個XSLT模板和象下面這樣的XML文檔:XSLT爲每個XPath和條件

正常情況下的任何數據中的XML導出這樣的:

<Cell><Data ss:Type="String">sss</Data></Cell> 

我想讓裏面的一些變化XSLT是:如果記錄對象內的任何值包含<br/>,應該導出數據是這樣的:

<Cell ss:StyleID="s62"><Data ss:Type="String">sss</Data></Cell> 

誰能幫我一下嗎?

XSLT模板:

<xsl:stylesheet version="1.0" 
    xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
xmlns:user="urn:my-scripts" 
xmlns:o="urn:schemas-microsoft-com:office:office" 
xmlns:x="urn:schemas-microsoft-com:office:excel" 
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"> 

<xsl:template match="/"> 
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
    xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:x="urn:schemas-microsoft-com:office:excel" 
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" 
    xmlns:html="http://www.w3.org/TR/REC-html40"> 
    <Styles> 
     <Style ss:ID="s62"> 
     <Alignment ss:Vertical="Bottom" ss:WrapText="1"/> 
     </Style> 
    </Styles> 
    <xsl:apply-templates/> 
    </Workbook> 
</xsl:template> 



<xsl:template match="/*"> 
    <Worksheet> 
    <xsl:attribute name="ss:Name"> 
    <xsl:value-of select="local-name(/*/*)" /> 
    </xsl:attribute> 
    <Table x:FullColumns="1" x:FullRows="1"> 
     <Row> 
     <xsl:for-each select="*[position() = 1]/*"> 
      <Cell><Data ss:Type="String"> 
      <xsl:value-of select="local-name()" /> 
      </Data></Cell> 
     </xsl:for-each> 
     </Row> 
     <xsl:apply-templates/> 
    </Table> 
    </Worksheet> 
</xsl:template> 


<xsl:template match="/*/*"> 
    <Row> 
    <xsl:apply-templates/> 
    </Row> 
</xsl:template> 


<xsl:template match="/*/*/*"> 
    <Cell ss:StyleID="s62"><Data ss:Type="String"> 
    <xsl:value-of select="." /> 
    </Data></Cell> 
</xsl:template> 


</xsl:stylesheet> 

XML文檔:

<records> 
<record> 
    <BASLAMA_TARIH>2012-11-02T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-02T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>1620.88</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>1535.56</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-25T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-25T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>641.46</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>615.79</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-19T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-19T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>sss</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>829.58</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-10-26T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-10-26T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>26.25</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>25</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-29T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-29T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058934</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>284.68</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>254.62</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-02T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-02T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058937</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>464.67</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>415.31</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-21T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-21T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2468.4</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>2355.32</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-05T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-05T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058931</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>281.53</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>251.8</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-11T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-11T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058940</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>284.68</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>254.62</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-24T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-24T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058944</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>281.53</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>251.8</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-09T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-09T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>1129.6</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>1072.17</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-28T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-28T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>0</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>0</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-10T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-10T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>354.76</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>354.76</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-22T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-22T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2926.57</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>2789.97</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-29T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-29T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2531.84</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>2414.73</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-30T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-30T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058932</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>281.53</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>251.8</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-30T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-30T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018106146</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>453.55</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>405.39</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-10T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-10T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058938</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>0</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>0</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-16T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-16T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>4912.66</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>4655.07</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-13T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-13T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2313.17</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>2211.51</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-14T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-14T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>4061.73</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>3867.42</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-23T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-23T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018166873</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>257.79</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>230.61</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-25T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-25T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018097884</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>547.61</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>489.37</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-07T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-07T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058926</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>346.04</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>309.4</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-10-30T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-02-07T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>-146.38</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>-139.41</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-03T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-03T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>1143.59</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>1089.13</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-05T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-05T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2658.48</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>2531.88</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-24T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-24T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2331.96</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>2231.19</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-17T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-17T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>161.43</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>161.43</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-27T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-27T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>759.56</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>759.56</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-08T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-08T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>172.23</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>161.64</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-12T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-12T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>1073.5</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>1019.13</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-06T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-06T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2846.11</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>2712.64</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-23T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-23T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>8747.19</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>8335.29</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-04T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-04T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>826.45</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>798.53</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-01T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-01T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2061.93</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>1967.81</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-18T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-18T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2580.77</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>2453.35</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-30T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-30T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>729.09</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>705.05</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-15T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-15T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>1862.96</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>1772.08</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-14T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-14T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058939</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>281.53</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>251.8</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-03T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-03T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058942</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>431.24</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>385.48</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-26T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-26T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>585.76</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>558.39</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-07T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-07T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>1162.81</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>1105.44</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-24T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-24T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO>101000018058929</CF_ONCEKI_POLICE_NO> 
    <CF_SUM_BRUT_PRIM>281.53</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>251.8</CF_SUM_NET_PRIM> 
</record> 
<record> 
    <BASLAMA_TARIH>2012-11-11T00:00:00</BASLAMA_TARIH> 
    <BITIS_TARIH>2013-11-11T00:00:00</BITIS_TARIH> 
    <CF_ONCEKI_POLICE_NO /> 
    <CF_SUM_BRUT_PRIM>2004.01</CF_SUM_BRUT_PRIM> 
    <CF_SUM_NET_PRIM>1908.58</CF_SUM_NET_PRIM> 
</record> 

+0

您的示例XML不包含任何
元素。你能舉一個簡短的例子,說明正確的輸入和期望的輸出嗎?另外,您應該查看一些XSLT基礎知識(最近在另一個問題上提出了建議:http://zvon.org/xxl/XSLTutorial/Output/)。你應該把身份轉換成你轉換的起點。 –

+0

我想你可以想象這個數據有
元素。我正在尋找xslt文檔近6個小時,但我無法處理它。 – mavera

回答

2

一種方式做這將是

<xsl:template match="/*/*/*"> 
    <Cell> 
    <xsl:if test=".//br"> 
     <xsl:attribute name="ss:StyleID">s62</xsl:attribute> 
    </xsl:if> 
    <Data ss:Type="String"><xsl:value-of select="." /></Data> 
    </Cell> 
</xsl:template> 

加入ss:StyleID屬性條件基於存在/不存在後代<br>元素。但<br>不會出現在生成的<Data>元素中,因爲您使用的是<xsl:value-of>(它只是爲您提供純文本字符串值)。您可能需要使用<xsl:copy-of select="node()"/>,這將保留子項的元素結構。

+0

您的模板運行良好。我只是用新行字符更改了
。所以我有最後一個問題。我應該寫什麼來代替test =「.// br」代碼來尋找新行? – mavera

+2

@mavera:我會嘗試'test =「包含(。,' ')」'。 – LarsH

+0

@LarsH非常感謝。它現在正在工作 – mavera