home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / Bureautique / LibreOffice / LibreOffice_4.3.5_Win_x86.msi / uof2odf_spreadsheet.xsl < prev    next >
Extensible Markup Language  |  2014-05-25  |  469KB  |  9,072 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3.  * This file is part of the LibreOffice project.
  4.  *
  5.  * This Source Code Form is subject to the terms of the Mozilla Public
  6.  * License, v. 2.0. If a copy of the MPL was not distributed with this
  7.  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  8.  *
  9.  * This file incorporates work covered by the following license notice:
  10.  *
  11.  *   Licensed to the Apache Software Foundation (ASF) under one or more
  12.  *   contributor license agreements. See the NOTICE file distributed
  13.  *   with this work for additional information regarding copyright
  14.  *   ownership. The ASF licenses this file to you under the Apache
  15.  *   License, Version 2.0 (the "License"); you may not use this file
  16.  *   except in compliance with the License. You may obtain a copy of
  17.  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  18.  -->
  19. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:uof="http://schemas.uof.org/cn/2003/uof" xmlns:Φí¿="http://schemas.uof.org/cn/2003/uof-spreadsheet" xmlns:µ╝ö="http://schemas.uof.org/cn/2003/uof-slideshow" xmlns:σ¡ù="http://schemas.uof.org/cn/2003/uof-wordproc" xmlns:σ¢╛="http://schemas.uof.org/cn/2003/graph" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" office:version="1.0">
  20.     <xsl:output method="xml" indent="no" encoding="UTF-8" version="1.0"/>
  21.     <xsl:template match="uof:UOF">
  22.         <!--chengxz0804 OK-->
  23.         <!--office:document xmlns:office="http://openoffice.org/2000/office" xmlns:style="http://openoffice.org/2000/style" xmlns:text="http://openoffice.org/2000/text" xmlns:table="http://openoffice.org/2000/table" xmlns:draw="http://openoffice.org/2000/drawing" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" xmlns:number="http://openoffice.org/2000/datastyle" xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="http://openoffice.org/2000/chart" xmlns:dr3d="http://openoffice.org/2000/dr3d" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="http://openoffice.org/2000/form" xmlns:script="http://openoffice.org/2000/script" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" office:version="1.0" office:class="spreadsheet"-->
  24.         <office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" office:version="1.0">
  25.             <xsl:apply-templates select="uof:σàâµò░µì«"/>
  26.             <office:settings>
  27.                 <xsl:call-template name="σ╖ÑΣ╜£Φí¿σ▒₧µÇº"/>
  28.             </office:settings>
  29.             <xsl:apply-templates select="uof:σ╝ŵá╖Θ¢å"/>
  30.             <!--xsl:apply-templates select="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ"/-->
  31.             <xsl:apply-templates select="uof:τö╡σ¡ÉΦí¿µá╝"/>
  32.         </office:document>
  33.     </xsl:template>
  34.     <!--Redoffice comment lil from chenjh SC0013 06.02.15-->
  35.     <!--σó₧σèáσåàσ«╣-->
  36.     <xsl:variable name="uofUnit">
  37.         <xsl:variable name="uu">
  38.             <xsl:value-of select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:σ║ªΘçÅσìòΣ╜ì"/>
  39.         </xsl:variable>
  40.         <xsl:choose>
  41.             <xsl:when test="$uu='cm'">cm</xsl:when>
  42.             <xsl:when test="$uu='mm'">mm</xsl:when>
  43.             <xsl:when test="$uu='pt'">pt</xsl:when>
  44.             <xsl:when test="$uu='inch'">inch</xsl:when>
  45.             <xsl:otherwise>cm</xsl:otherwise>
  46.         </xsl:choose>
  47.     </xsl:variable>
  48.     <xsl:variable name="other-to-cm-conversion-factor">
  49.         <xsl:choose>
  50.             <xsl:when test="$uofUnit='cm'">1</xsl:when>
  51.             <xsl:when test="$uofUnit='mm'">0.1</xsl:when>
  52.             <xsl:when test="$uofUnit='pt'">0.03527</xsl:when>
  53.             <xsl:when test="$uofUnit='inch'">2.54</xsl:when>
  54.             <xsl:when test="$uofUnit='pica'">0.4233</xsl:when>
  55.             <xsl:otherwise>0.03527</xsl:otherwise>
  56.         </xsl:choose>
  57.     </xsl:variable>
  58.     <!--Redoffice comment liliang end 06.02.15-->
  59.     <xsl:template name="set-calculation">
  60.         <xsl:element name="table:calculation-settings">
  61.             <xsl:if test="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:σ║ªΘçÅσìòΣ╜ì">
  62.                 <xsl:variable name="uofUnit">
  63.                     <xsl:variable name="uu">
  64.                         <xsl:value-of select="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:σ║ªΘçÅσìòΣ╜ì"/>
  65.                     </xsl:variable>
  66.                     <xsl:choose>
  67.                         <xsl:when test="$uu='cm'">cm</xsl:when>
  68.                         <xsl:when test="$uu='mm'">mm</xsl:when>
  69.                         <xsl:when test="$uu='pt'">pt</xsl:when>
  70.                         <xsl:when test="$uu='inch'">inch</xsl:when>
  71.                         <xsl:otherwise>cm</xsl:otherwise>
  72.                     </xsl:choose>
  73.                 </xsl:variable>
  74.                 <xsl:variable name="other-to-cm-conversion-factor">
  75.                     <xsl:choose>
  76.                         <xsl:when test="$uofUnit='cm'">1</xsl:when>
  77.                         <xsl:when test="$uofUnit='mm'">0.1</xsl:when>
  78.                         <xsl:when test="$uofUnit='pt'">0.03527</xsl:when>
  79.                         <xsl:when test="$uofUnit='inch'">2.54</xsl:when>
  80.                         <xsl:when test="$uofUnit='pica'">0.4233</xsl:when>
  81.                         <xsl:otherwise>1</xsl:otherwise>
  82.                     </xsl:choose>
  83.                 </xsl:variable>
  84.             </xsl:if>
  85.             <xsl:if test="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:τ▓╛τí«σ║ªΣ╗ѵÿ╛τñ║σÇ╝Σ╕║σçå">
  86.                 <xsl:attribute name="table:precision-as-shown">true</xsl:attribute>
  87.             </xsl:if>
  88.             <xsl:if test="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µùѵ£ƒτ│╗τ╗ƒ-1904/@Φí¿:σÇ╝='true'">
  89.                 <table:null-date table:date-value="1904-01-01"/>
  90.             </xsl:if>
  91.             <xsl:if test="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:Φ«íτ«ùΦ«╛τ╜«">
  92.                 <xsl:element name="table:iteration">
  93.                     <xsl:attribute name="table:status">enable</xsl:attribute>
  94.                     <xsl:attribute name="table:steps"><xsl:value-of select="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:Φ«íτ«ùΦ«╛τ╜«/@Φí¿:Φ┐¡Σ╗úµ¼íµò░"/></xsl:attribute>
  95.                     <xsl:attribute name="table:maximum-difference"><xsl:value-of select="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:Φ«íτ«ùΦ«╛τ╜«/@Φí¿:σüÅσ╖«σÇ╝"/></xsl:attribute>
  96.                 </xsl:element>
  97.             </xsl:if>
  98.         </xsl:element>
  99.     </xsl:template>
  100.     <xsl:template match="uof:σ¡ùΣ╜ôΘ¢å">
  101.         <xsl:if test="not(uof:σ¡ùΣ╜ôσú░µÿÄ[@uof:σÉìτº░='StarSymbol'])">
  102.             <style:font-face style:name="StarSymbol" fo:font-family="StarSymbol" style:font-charset="x-symbol"/>
  103.         </xsl:if>
  104.         <xsl:for-each select="uof:σ¡ùΣ╜ôσú░µÿÄ">
  105.             <xsl:element name="style:font-face">
  106.                 <xsl:attribute name="style:name"><xsl:value-of select="@uof:σÉìτº░"/></xsl:attribute>
  107.                 <xsl:attribute name="svg:font-family"><xsl:value-of select="@uof:σ¡ùΣ╜ôµùÅ"/></xsl:attribute>
  108.                 <xsl:if test="@uof:σ¡ùτ¼ªΘ¢å = '02'">
  109.                     <xsl:attribute name="style:font-charset">x-symbol</xsl:attribute>
  110.                 </xsl:if>
  111.                 <xsl:if test="@uof:σ¡ùΣ╜ôµùÅ">
  112.                     <xsl:choose>
  113.                         <xsl:when test="@uof:σ¡ùΣ╜ôµùÅ = 'Swiss'">
  114.                             <xsl:attribute name="style:font-family-generic">swiss</xsl:attribute>
  115.                         </xsl:when>
  116.                         <xsl:when test="@uof:σ¡ùΣ╜ôµùÅ ='Modern'">
  117.                             <xsl:attribute name="style:font-family-generic">modern</xsl:attribute>
  118.                         </xsl:when>
  119.                         <xsl:when test="@uof:σ¡ùΣ╜ôµùÅ='Roman'">
  120.                             <xsl:attribute name="style:font-family-generic">roman</xsl:attribute>
  121.                         </xsl:when>
  122.                         <xsl:when test="@uof:σ¡ùΣ╜ôµùÅ ='Script'">
  123.                             <xsl:attribute name="style:font-family-generic">script</xsl:attribute>
  124.                         </xsl:when>
  125.                         <xsl:when test="@uof:σ¡ùΣ╜ôµùÅ ='Decorative'">
  126.                             <xsl:attribute name="style:font-family-generic">decorative</xsl:attribute>
  127.                         </xsl:when>
  128.                         <xsl:when test="@uof:σ¡ùΣ╜ôµùÅ ='System'">
  129.                             <xsl:attribute name="style:font-family-generic">system</xsl:attribute>
  130.                         </xsl:when>
  131.                         <xsl:otherwise>
  132.                             <xsl:attribute name="style:font-family-generic">system</xsl:attribute>
  133.                         </xsl:otherwise>
  134.                     </xsl:choose>
  135.                 </xsl:if>
  136.                 <xsl:attribute name="style:font-pitch">12</xsl:attribute>
  137.             </xsl:element>
  138.         </xsl:for-each>
  139.         <xsl:apply-templates select="uof:σ¡ùΣ╜ôσú░µÿÄ"/>
  140.     </xsl:template>
  141.     <xsl:template match="uof:τö╡σ¡ÉΦí¿µá╝">
  142.         <office:body>
  143.             <office:spreadsheet>
  144.                 <xsl:call-template name="trackchange"/>
  145.                 <xsl:call-template name="set-calculation"/>
  146.                 <xsl:if test="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µò░µì«µ£ëµòêµÇºΘ¢å">
  147.                     <xsl:element name="table:content-validations">
  148.                         <xsl:call-template name="create-content-validations">
  149.                             <xsl:with-param name="validation-set" select="Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µò░µì«µ£ëµòêµÇºΘ¢å/Φí¿:µò░µì«µ£ëµòêµÇº"/>
  150.                         </xsl:call-template>
  151.                     </xsl:element>
  152.                 </xsl:if>
  153.                 <xsl:apply-templates select="Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿"/>
  154.                 <!--MSexcel Σ╕¡τÜänamesµÜéµù╢µ▓íµ£ëσ»╣σ║öτÜä-->
  155.                 <xsl:element name="table:database-ranges">
  156.                     <xsl:for-each select="Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿">
  157.                         <xsl:if test="./Φí¿:τ¡¢ΘÇë">
  158.                             <xsl:variable name="filter" select="./Φí¿:τ¡¢ΘÇë"/>
  159.                             <xsl:variable name="column-and-row" select="substring-before(substring-after($filter/Φí¿:Φîâσ¢┤/text(),'.'),':')"/>
  160.                             <xsl:variable name="dd" select="number(substring($column-and-row,2,1))"/>
  161.                             <xsl:variable name="zone-left-column-string">
  162.                                 <xsl:choose>
  163.                                     <xsl:when test="contains($dd,'NaN') ">
  164.                                         <xsl:value-of select="substring($column-and-row,1,2)"/>
  165.                                     </xsl:when>
  166.                                     <xsl:otherwise>
  167.                                         <xsl:value-of select="substring($column-and-row,1,1)"/>
  168.                                     </xsl:otherwise>
  169.                                 </xsl:choose>
  170.                             </xsl:variable>
  171.                             <xsl:variable name="zone-left-column-num">
  172.                                 <xsl:call-template name="translate-column-char-to-number">
  173.                                     <xsl:with-param name="string" select="$zone-left-column-string"/>
  174.                                 </xsl:call-template>
  175.                             </xsl:variable>
  176.                             <xsl:element name="table:database-range">
  177.                                 <xsl:attribute name="table:name"><xsl:value-of select="uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/@Φí¿:σÉìτº░"/></xsl:attribute>
  178.                                 <xsl:attribute name="table:target-range-address"><xsl:call-template name="translate-expression2"><xsl:with-param name="expression2" select="translate($filter/Φí¿:Φîâσ¢┤/text(),'$','')"/></xsl:call-template></xsl:attribute>
  179.                                 <xsl:if test="$filter/@Φí¿:τ▒╗σ₧ï='auto'">
  180.                                     <xsl:attribute name="table:display-filter-buttons">true</xsl:attribute>
  181.                                 </xsl:if>
  182.                                 <xsl:choose>
  183.                                     <xsl:when test="$filter/Φí¿:µ¥íΣ╗╢σî║σƒƒ">
  184.                                         <xsl:element name="table:filter">
  185.                                             <xsl:attribute name="table:condition-source-range-address"><xsl:call-template name="translate-expression2"><xsl:with-param name="expression2" select="translate($filter/Φí¿:µ¥íΣ╗╢σî║σƒƒ/text(),'$','')"/></xsl:call-template></xsl:attribute>
  186.                                         </xsl:element>
  187.                                     </xsl:when>
  188.                                     <xsl:otherwise>
  189.                                         <xsl:element name="table:filter">
  190.                                             <xsl:element name="table:filter-and">
  191.                                                 <xsl:call-template name="auto-filter-condition">
  192.                                                     <xsl:with-param name="conditon-set" select="$filter/Φí¿:µ¥íΣ╗╢"/>
  193.                                                     <xsl:with-param name="zone-left-column-num" select="$zone-left-column-num"/>
  194.                                                 </xsl:call-template>
  195.                                             </xsl:element>
  196.                                         </xsl:element>
  197.                                     </xsl:otherwise>
  198.                                 </xsl:choose>
  199.                             </xsl:element>
  200.                         </xsl:if>
  201.                     </xsl:for-each>
  202.                 </xsl:element>
  203.             </office:spreadsheet>
  204.         </office:body>
  205.     </xsl:template>
  206.     <xsl:template name="trackchange">
  207.         <xsl:for-each select="Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣//σ¡ù:Σ┐«Φ«óσ╝Çσºï">
  208.             <xsl:variable name="num">
  209.                 <xsl:number level="any" from="Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣//*" count="σ¡ù:Σ┐«Φ«óσ╝Çσºï"/>
  210.             </xsl:variable>
  211.             <table:tracked-changes>
  212.                 <table:cell-content-change>
  213.                     <xsl:attribute name="table:id"><xsl:value-of select="concat('ct',$num)"/></xsl:attribute>
  214.                     <table:cell-address>
  215.                         <xsl:attribute name="table:column"><xsl:value-of select="substring-after(@σ¡ù:µáçΦ»åτ¼ª,'-')"/></xsl:attribute>
  216.                         <xsl:attribute name="table:row"><xsl:value-of select="substring-before(@σ¡ù:µáçΦ»åτ¼ª,'-')"/></xsl:attribute>
  217.                         <xsl:attribute name="table:table">0</xsl:attribute>
  218.                     </table:cell-address>
  219.                     <office:change-info>
  220.                         <dc:creator>
  221.                             <xsl:choose>
  222.                                 <xsl:when test="starts-with(@σ¡ù:Σ┐«Φ«óΣ┐íµü»σ╝òτö¿,'+')"/>
  223.                                 <xsl:otherwise>
  224.                                     <xsl:value-of select="substring-before(@σ¡ù:Σ┐«Φ«óΣ┐íµü»σ╝òτö¿,'+')"/>
  225.                                 </xsl:otherwise>
  226.                             </xsl:choose>
  227.                         </dc:creator>
  228.                         <!--xsl:value-of select="/uof:UOF/uof:σàâµò░µì«/uof:Σ╜£ΦÇà"/-->
  229.                         <!--xsl:value-of select="/uof:UOF/uof:σàâµò░µì«/uof:σê¢σ╗║µùѵ£ƒ"/-->
  230.                         <dc:date>
  231.                             <xsl:value-of select="substring-before(substring-after(@σ¡ù:Σ┐«Φ«óΣ┐íµü»σ╝òτö¿,'+'),'%')"/>
  232.                         </dc:date>
  233.                     </office:change-info>
  234.                     <table:previous>
  235.                         <table:change-track-table-cell>
  236.                             <text:p>
  237.                                 <xsl:value-of select="substring-after(@σ¡ù:Σ┐«Φ«óΣ┐íµü»σ╝òτö¿,'%')"/>
  238.                             </text:p>
  239.                         </table:change-track-table-cell>
  240.                     </table:previous>
  241.                 </table:cell-content-change>
  242.             </table:tracked-changes>
  243.         </xsl:for-each>
  244.     </xsl:template>
  245.     <xsl:template match="uof:σ╝ŵá╖Θ¢å">
  246.         <xsl:element name="office:font-face-decls">
  247.             <style:font-face style:name="σ«ïΣ╜ô" svg:font-family="σ«ïΣ╜ô" style:font-family-generic="swiss"/>
  248.             <xsl:apply-templates select="uof:σ¡ùΣ╜ôΘ¢å"/>
  249.         </xsl:element>
  250.         <xsl:call-template name="σìòσàâµá╝σ╝ŵá╖"/>
  251.     </xsl:template>
  252.     <xsl:key match="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/uof:ΘöÜτé╣ | /uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî/Φí¿:σìòσàâµá╝/uof:ΘöÜτé╣" name="rel_graphic_name" use="@uof:σ¢╛σ╜óσ╝òτö¿"/>
  253.     <xsl:template match="σ¢╛:σ¢╛σ╜ó">
  254.         <xsl:variable name="random-name">
  255.             <xsl:value-of select="generate-id()"/>
  256.         </xsl:variable>
  257.         <xsl:variable name="draw-name">
  258.             <xsl:value-of select="substring($random-name,string-length($random-name)-1)"/>
  259.         </xsl:variable>
  260.         <xsl:call-template name="graphic-fill">
  261.             <xsl:with-param name="draw-name" select="$draw-name"/>
  262.             <xsl:with-param name="gradient-name" select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:µ╕ÉσÅÿ"/>
  263.         </xsl:call-template>
  264.         <xsl:choose>
  265.             <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:µ╕ÉσÅÿ">
  266.                 <xsl:element name="style:style">
  267.                     <xsl:attribute name="style:name"><xsl:value-of select="@σ¢╛:µáçΦ»åτ¼ª"/></xsl:attribute>
  268.                     <xsl:attribute name="style:family">graphic</xsl:attribute>
  269.                     <xsl:element name="style:graphic-properties">
  270.                         <xsl:call-template name="process-graphics">
  271.                             <xsl:with-param name="draw-name" select="$draw-name"/>
  272.                         </xsl:call-template>
  273.                     </xsl:element>
  274.                     <xsl:element name="style:paragraph-properties">
  275.                         <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ">
  276.                             <xsl:choose>
  277.                                 <xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ='vert-l2r'">
  278.                                     <xsl:attribute name="style:writing-mode">tb-lr</xsl:attribute>
  279.                                 </xsl:when>
  280.                                 <xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ='vert-r2l'">
  281.                                     <xsl:attribute name="style:writing-mode">tb-rl</xsl:attribute>
  282.                                 </xsl:when>
  283.                             </xsl:choose>
  284.                         </xsl:if>
  285.                     </xsl:element>
  286.                 </xsl:element>
  287.             </xsl:when>
  288.             <xsl:otherwise>
  289.                 <xsl:element name="style:style">
  290.                     <xsl:attribute name="style:name"><xsl:value-of select="@σ¢╛:µáçΦ»åτ¼ª"/></xsl:attribute>
  291.                     <xsl:attribute name="style:family">graphic</xsl:attribute>
  292.                     <xsl:element name="style:graphic-properties">
  293.                         <xsl:if test="@σ¢╛:σà╢Σ╗ûσ»╣Φ▒í">
  294.                             <xsl:attribute name="fo:clip">rect(0cm 0cm 0cm 0cm)</xsl:attribute>
  295.                             <xsl:attribute name="draw:color-mode">standard</xsl:attribute>
  296.                             <xsl:attribute name="draw:luminance">0%</xsl:attribute>
  297.                             <xsl:attribute name="draw:contrast">0%</xsl:attribute>
  298.                             <xsl:attribute name="draw:gamma">100%</xsl:attribute>
  299.                             <xsl:attribute name="draw:red">0%</xsl:attribute>
  300.                             <xsl:attribute name="draw:green">0%</xsl:attribute>
  301.                             <xsl:attribute name="draw:blue">0%</xsl:attribute>
  302.                             <xsl:attribute name="draw:image-opacity">100%</xsl:attribute>
  303.                             <xsl:attribute name="style:mirror">none</xsl:attribute>
  304.                         </xsl:if>
  305.                         <xsl:call-template name="process-graphics"/>
  306.                     </xsl:element>
  307.                     <xsl:element name="style:paragraph-properties">
  308.                         <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ">
  309.                             <xsl:choose>
  310.                                 <xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ='vert-l2r'">
  311.                                     <xsl:attribute name="style:writing-mode">tb-lr</xsl:attribute>
  312.                                 </xsl:when>
  313.                                 <xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ='vert-r2l'">
  314.                                     <xsl:attribute name="style:writing-mode">tb-rl</xsl:attribute>
  315.                                 </xsl:when>
  316.                             </xsl:choose>
  317.                         </xsl:if>
  318.                     </xsl:element>
  319.                 </xsl:element>
  320.             </xsl:otherwise>
  321.         </xsl:choose>
  322.     </xsl:template>
  323.     <xsl:template name="process-graphics">
  324.         <xsl:param name="draw-name"/>
  325.         <xsl:if test="not(key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)/@uof:ΘÜÅσ迵û╣σ╝Å='movesize')">
  326.             <xsl:attribute name="style:protect"><xsl:choose><xsl:when test="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)/@uof:ΘÜÅσ迵û╣σ╝Å='move'">size</xsl:when><xsl:otherwise>position size</xsl:otherwise></xsl:choose></xsl:attribute>
  327.         </xsl:if>
  328.         <xsl:choose>
  329.             <xsl:when test="not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà)">
  330.                 <xsl:attribute name="draw:fill">none</xsl:attribute>
  331.             </xsl:when>
  332.             <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç">
  333.                 <xsl:attribute name="draw:fill">bitmap</xsl:attribute>
  334.                 <xsl:attribute name="draw:fill-image-name"><xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:σÉìτº░"/></xsl:attribute>
  335.                 <xsl:if test="not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:Σ╜ìτ╜«='tile')">
  336.                     <xsl:attribute name="style:repeat"><xsl:choose><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:Σ╜ìτ╜«='center'">no-repeat</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:Σ╜ìτ╜«='stretch'">stretch</xsl:when></xsl:choose></xsl:attribute>
  337.                 </xsl:if>
  338.             </xsl:when>
  339.             <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛µíê">
  340.                 <xsl:attribute name="draw:fill">bitmap</xsl:attribute>
  341.                 <xsl:attribute name="draw:fill-color"><xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛µíê/@σ¢╛:σëìµÖ»Φë▓"/></xsl:attribute>
  342.             </xsl:when>
  343.             <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:Θó£Φë▓">
  344.                 <xsl:attribute name="draw:fill">solid</xsl:attribute>
  345.                 <xsl:attribute name="draw:fill-color"><xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:Θó£Φë▓"/></xsl:attribute>
  346.             </xsl:when>
  347.             <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:µ╕ÉσÅÿ">
  348.                 <xsl:attribute name="draw:fill">gradient</xsl:attribute>
  349.                 <xsl:attribute name="draw:fill-color"><xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:µ╕ÉσÅÿ/@σ¢╛:Φ╡╖σºïΦë▓"/></xsl:attribute>
  350.                 <xsl:attribute name="draw:fill-gradient-name"><xsl:value-of select="concat('Gradient ',$draw-name)"/></xsl:attribute>
  351.             </xsl:when>
  352.         </xsl:choose>
  353.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐Θó£Φë▓">
  354.             <xsl:attribute name="svg:stroke-color"><xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐Θó£Φë▓"/></xsl:attribute>
  355.         </xsl:if>
  356.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐σ₧ï and not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐σ₧ï = 'single') and not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐σ₧ï = 'thick')">
  357.             <xsl:variable name="type" select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐σ₧ï"/>
  358.             <xsl:attribute name="draw:stroke"><xsl:choose><xsl:when test="$type='none'">none</xsl:when><xsl:when test="$type='single'">solid</xsl:when><xsl:otherwise>dash</xsl:otherwise></xsl:choose></xsl:attribute>
  359.             <xsl:attribute name="draw:stroke-dash"><xsl:choose><xsl:when test="$type='dash'">Ultrafine_20_Dashed</xsl:when><xsl:when test="$type='dot-dash'">Ultrafine_20_2_20_Dots_20_3_20_Dashes</xsl:when><xsl:when test="$type='dashed-heavy'">Fine_20_Dashed</xsl:when><xsl:when test="$type='dotted' ">Fine_20_Dotted</xsl:when><xsl:when test="$type='dash-long-heavy'">Line_20_with_20_Fine_20_Dots</xsl:when><xsl:when test="$type='dash-long'">Fine_20_Dashed_20__28_var_29_</xsl:when><xsl:when test="$type='dash-dot-dot'">_33__20_Dashes_20_3_20_Dots_20__28_var_29_</xsl:when><xsl:when test="$type='dotted-heavy'">Ultrafine_20_Dotted_20__28_var_29_</xsl:when><xsl:when test="$type='thick'">Line_20_Style_20_9</xsl:when><xsl:when test="$type='dot-dot-dash'">_32__20_Dots_20_1_20_Dash</xsl:when><xsl:when test="$type='dash-dot-dot-heavy'">Dashed_20__28_var_29_</xsl:when><xsl:when test="$type='dash-dot-heavy'">Dash_20_10</xsl:when></xsl:choose></xsl:attribute>
  360.         </xsl:if>
  361.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐τ▓ùτ╗å">
  362.             <xsl:attribute name="svg:stroke-width"><xsl:value-of select="concat(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐τ▓ùτ╗å,$uofUnit)"/></xsl:attribute>
  363.         </xsl:if>
  364.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤">
  365.             <xsl:attribute name="draw:marker-start"><xsl:choose><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='normal'">Arrow</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='open'">Line Arrow</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='stealth'">Arrow concave</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='oval'">Circle</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='diamond'">Square 45</xsl:when></xsl:choose></xsl:attribute>
  366.             <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å">
  367.                 <xsl:attribute name="draw:marker-start-width"><xsl:choose><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '1'"><xsl:value-of select="concat('0.05',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '2'"><xsl:value-of select="concat('0.10',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '3'"><xsl:value-of select="concat('0.15',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '4'"><xsl:value-of select="concat('0.20',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '5'"><xsl:value-of select="concat('0.25',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '6'"><xsl:value-of select="concat('0.30',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '7'"><xsl:value-of select="concat('0.35',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '8'"><xsl:value-of select="concat('0.40',$uofUnit)"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('0.45',$uofUnit)"/></xsl:otherwise></xsl:choose></xsl:attribute>
  368.             </xsl:if>
  369.         </xsl:if>
  370.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤">
  371.             <xsl:attribute name="draw:marker-end"><xsl:choose><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='normal'">Arrow</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='open'">Line Arrow</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='stealth'">Arrow concave</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='oval'">Circle</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='diamond'">Square 45</xsl:when></xsl:choose></xsl:attribute>
  372.             <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å">
  373.                 <xsl:attribute name="draw:marker-end-width"><xsl:choose><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '1'"><xsl:value-of select="concat('0.05',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '2'"><xsl:value-of select="concat('0.10',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '3'"><xsl:value-of select="concat('0.15',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '4'"><xsl:value-of select="concat('0.20',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '5'"><xsl:value-of select="concat('0.25',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '6'"><xsl:value-of select="concat('0.30',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '7'"><xsl:value-of select="concat('0.35',$uofUnit)"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σñºσ░Å = '8'"><xsl:value-of select="concat('0.40',$uofUnit)"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('0.45',$uofUnit)"/></xsl:otherwise></xsl:choose></xsl:attribute>
  374.             </xsl:if>
  375.         </xsl:if>
  376.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:ΘÇŵÿÄσ║ª">
  377.             <xsl:attribute name="draw:opacity"><xsl:value-of select="concat(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:ΘÇŵÿÄσ║ª,'%')"/></xsl:attribute>
  378.         </xsl:if>
  379.         <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣">
  380.             <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:Σ╕èΦ╛╣Φ╖¥">
  381.                 <xsl:attribute name="fo:padding-top"><xsl:value-of select="concat(σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:Σ╕èΦ╛╣Φ╖¥,$uofUnit)"/></xsl:attribute>
  382.                 <xsl:attribute name="fo:padding-bottom"><xsl:value-of select="concat(σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:Σ╕ïΦ╛╣Φ╖¥,$uofUnit)"/></xsl:attribute>
  383.                 <xsl:attribute name="fo:padding-left"><xsl:value-of select="concat(σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:σ╖ªΦ╛╣Φ╖¥,$uofUnit)"/></xsl:attribute>
  384.                 <xsl:attribute name="fo:padding-right"><xsl:value-of select="concat(σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:σÅ│Φ╛╣Φ╖¥,$uofUnit)"/></xsl:attribute>
  385.             </xsl:if>
  386.             <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ">
  387.                 <xsl:choose>
  388.                     <xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ='vert-l2r'">
  389.                         <xsl:attribute name="style:writing-mode">tb-lr</xsl:attribute>
  390.                     </xsl:when>
  391.                     <xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ='vert-r2l'">
  392.                         <xsl:attribute name="style:writing-mode">tb-rl</xsl:attribute>
  393.                     </xsl:when>
  394.                     <xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ='hori-r2l'">
  395.                         <xsl:attribute name="draw:textarea-horizontal-align">right</xsl:attribute>
  396.                     </xsl:when>
  397.                     <xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µûçσ¡ùµÄÆσêùµû╣σÉæ='hori-12r'">
  398.                         <xsl:attribute name="draw:textarea-horizontal-align">left</xsl:attribute>
  399.                     </xsl:when>
  400.                 </xsl:choose>
  401.             </xsl:if>
  402.             <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µ░┤σ╣│σ»╣Θ╜É">
  403.                 <xsl:attribute name="draw:textarea-horizontal-align"><xsl:value-of select="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:µ░┤σ╣│σ»╣Θ╜É"/></xsl:attribute>
  404.             </xsl:if>
  405.             <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:σ₧éτ¢┤σ»╣Θ╜É">
  406.                 <xsl:attribute name="draw:textarea-vertical-align"><xsl:value-of select="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:σ₧éτ¢┤σ»╣Θ╜É"/></xsl:attribute>
  407.             </xsl:if>
  408.             <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:Φç¬σ迵ìóΦíî">
  409.                 <xsl:attribute name="fo:wrap-option">no-wrap</xsl:attribute>
  410.             </xsl:if>
  411.             <xsl:attribute name="draw:auto-grow-width"><xsl:choose><xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:σñºσ░ÅΘÇéσ║öµûçσ¡ù">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute>
  412.             <xsl:attribute name="draw:auto-grow-height"><xsl:choose><xsl:when test="σ¢╛:µûçµ£¼σåàσ«╣/@σ¢╛:σñºσ░ÅΘÇéσ║öµûçσ¡ù">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute>
  413.         </xsl:if>
  414.     </xsl:template>
  415.     <xsl:template name="bina_graphic">
  416.         <xsl:param name="refGraphic"/>
  417.         <xsl:element name="office:binary-data">
  418.             <xsl:for-each select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª = $refGraphic]">
  419.                 <xsl:value-of select="uof:µò░µì«"/>
  420.             </xsl:for-each>
  421.         </xsl:element>
  422.         <text:p/>
  423.     </xsl:template>
  424.     <xsl:template name="graphic-fill">
  425.         <xsl:param name="draw-name"/>
  426.         <xsl:param name="gradient-name"/>
  427.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:µ╕ÉσÅÿ">
  428.             <xsl:element name="draw:gradient">
  429.                 <xsl:attribute name="draw:name"><xsl:value-of select="concat('Gradient ',$draw-name)"/></xsl:attribute>
  430.                 <xsl:attribute name="draw:style"><xsl:choose><xsl:when test="$gradient-name/@σ¢╛:τºìσ¡Éτ▒╗σ₧ï='linear'"><xsl:value-of select="'linear'"/></xsl:when><xsl:when test="$gradient-name/@σ¢╛:τºìσ¡Éτ▒╗σ₧ï='radar'"><xsl:value-of select="'radial'"/></xsl:when><xsl:when test="$gradient-name/@σ¢╛:τºìσ¡Éτ▒╗σ₧ï='oval'"><xsl:value-of select="'ellipsoid'"/></xsl:when><xsl:when test="$gradient-name/@σ¢╛:τºìσ¡Éτ▒╗σ₧ï='square'"><xsl:value-of select="'square'"/></xsl:when><xsl:when test="$gradient-name/@σ¢╛:τºìσ¡Éτ▒╗σ₧ï='rectangle'"><xsl:value-of select="'rectangular'"/></xsl:when></xsl:choose></xsl:attribute>
  431.                 <xsl:attribute name="draw:start-color"><xsl:value-of select="$gradient-name/@σ¢╛:Φ╡╖σºïΦë▓"/></xsl:attribute>
  432.                 <xsl:attribute name="draw:end-color"><xsl:value-of select="$gradient-name/@σ¢╛:τ╗굡óΦë▓"/></xsl:attribute>
  433.                 <xsl:attribute name="draw:start-intensity"><xsl:value-of select="concat($gradient-name/@σ¢╛:Φ╡╖σºïµ╡ôσ║ª,'%')"/></xsl:attribute>
  434.                 <xsl:attribute name="draw:end-intensity"><xsl:value-of select="concat($gradient-name/@σ¢╛:τ╗굡óµ╡ôσ║ª,'%')"/></xsl:attribute>
  435.                 <xsl:attribute name="draw:angle"><xsl:value-of select="$gradient-name/@σ¢╛:µ╕ÉσÅÿµû╣σÉæ * 10"/></xsl:attribute>
  436.                 <xsl:attribute name="draw:border"><xsl:value-of select="concat($gradient-name/@σ¢╛:Φ╛╣τòî,'%')"/></xsl:attribute>
  437.                 <xsl:if test="$gradient-name/@σ¢╛:τºìσ¡ÉXΣ╜ìτ╜«">
  438.                     <xsl:attribute name="draw:cx"><xsl:value-of select="concat($gradient-name/@σ¢╛:τºìσ¡ÉXΣ╜ìτ╜«,'%')"/></xsl:attribute>
  439.                 </xsl:if>
  440.                 <xsl:if test="$gradient-name/@σ¢╛:τºìσ¡ÉYΣ╜ìτ╜«">
  441.                     <xsl:attribute name="draw:cy"><xsl:value-of select="concat($gradient-name/@σ¢╛:τºìσ¡ÉYΣ╜ìτ╜«,'%')"/></xsl:attribute>
  442.                 </xsl:if>
  443.             </xsl:element>
  444.         </xsl:if>
  445.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤">
  446.             <xsl:element name="draw:marker">
  447.                 <xsl:attribute name="draw:name"><xsl:choose><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='normal'">Arrow</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='open'">Line Arrow</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='stealth'">Arrow concave</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='oval'">Circle</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='diamond'">Square 45</xsl:when></xsl:choose></xsl:attribute>
  448.                 <xsl:choose>
  449.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='normal'">
  450.                         <xsl:attribute name="svg:viewBox">0 0 20 30</xsl:attribute>
  451.                         <xsl:attribute name="svg:d">m10 0-10 30h20z</xsl:attribute>
  452.                     </xsl:when>
  453.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='open'">
  454.                         <xsl:attribute name="svg:viewBox">0 0 1122 2243</xsl:attribute>
  455.                         <xsl:attribute name="svg:d">m0 2108v17 17l12 42 30 34 38 21 43 4 29-8 30-21 25-26 13-34 343-1532 339 1520 13 42 29 34 39 21 42 4 42-12 34-30 21-42v-39-12l-4 4-440-1998-9-42-25-39-38-25-43-8-42 8-38 25-26 39-8 42z</xsl:attribute>
  456.                     </xsl:when>
  457.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='stealth'">
  458.                         <xsl:attribute name="svg:viewBox">0 0 1131 1580</xsl:attribute>
  459.                         <xsl:attribute name="svg:d">m1013 1491 118 89-567-1580-564 1580 114-85 136-68 148-46 161-17 161 13 153 46z</xsl:attribute>
  460.                     </xsl:when>
  461.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='oval'">
  462.                         <xsl:attribute name="svg:viewBox">0 0 1131 1131</xsl:attribute>
  463.                         <xsl:attribute name="svg:d">m462 1118-102-29-102-51-93-72-72-93-51-102-29-102-13-105 13-102 29-106 51-102 72-89 93-72 102-50 102-34 106-9 101 9 106 34 98 50 93 72 72 89 51 102 29 106 13 102-13 105-29 102-51 102-72 93-93 72-98 51-106 29-101 13z</xsl:attribute>
  464.                     </xsl:when>
  465.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σëìτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='diamond'">
  466.                         <xsl:attribute name="svg:viewBox">0 0 1131 1131</xsl:attribute>
  467.                         <xsl:attribute name="svg:d">m0 564 564 567 567-567-567-564z</xsl:attribute>
  468.                     </xsl:when>
  469.                 </xsl:choose>
  470.             </xsl:element>
  471.         </xsl:if>
  472.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤">
  473.             <xsl:element name="draw:marker">
  474.                 <xsl:attribute name="draw:name"><xsl:choose><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='normal'">Arrow</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='open'">Line Arrow</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='stealth'">Arrow concave</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='oval'">Circle</xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='diamond'">Square 45</xsl:when></xsl:choose></xsl:attribute>
  475.                 <xsl:choose>
  476.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='normal'">
  477.                         <xsl:attribute name="svg:viewBox">0 0 20 30</xsl:attribute>
  478.                         <xsl:attribute name="svg:d">m10 0-10 30h20z</xsl:attribute>
  479.                     </xsl:when>
  480.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='open'">
  481.                         <xsl:attribute name="svg:viewBox">0 0 1122 2243</xsl:attribute>
  482.                         <xsl:attribute name="svg:d">m0 2108v17 17l12 42 30 34 38 21 43 4 29-8 30-21 25-26 13-34 343-1532 339 1520 13 42 29 34 39 21 42 4 42-12 34-30 21-42v-39-12l-4 4-440-1998-9-42-25-39-38-25-43-8-42 8-38 25-26 39-8 42z</xsl:attribute>
  483.                     </xsl:when>
  484.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='stealth'">
  485.                         <xsl:attribute name="svg:viewBox">0 0 1131 1580</xsl:attribute>
  486.                         <xsl:attribute name="svg:d">m1013 1491 118 89-567-1580-564 1580 114-85 136-68 148-46 161-17 161 13 153 46z</xsl:attribute>
  487.                     </xsl:when>
  488.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='oval'">
  489.                         <xsl:attribute name="svg:viewBox">0 0 1131 1131</xsl:attribute>
  490.                         <xsl:attribute name="svg:d">m462 1118-102-29-102-51-93-72-72-93-51-102-29-102-13-105 13-102 29-106 51-102 72-89 93-72 102-50 102-34 106-9 101 9 106 34 98 50 93 72 72 89 51 102 29 106 13 102-13 105-29 102-51 102-72 93-93 72-98 51-106 29-101 13z</xsl:attribute>
  491.                     </xsl:when>
  492.                     <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σÉÄτ½»τ«¡σñ┤/σ¢╛:σ╝ŵá╖='diamond'">
  493.                         <xsl:attribute name="svg:viewBox">0 0 1131 1131</xsl:attribute>
  494.                         <xsl:attribute name="svg:d">m0 564 564 567 567-567-567-564z</xsl:attribute>
  495.                     </xsl:when>
  496.                 </xsl:choose>
  497.             </xsl:element>
  498.         </xsl:if>
  499.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:σ¢╛σ╜óσ╝òτö¿ or σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛µíê/@σ¢╛:σ¢╛σ╜óσ╝òτö¿">
  500.             <xsl:element name="draw:fill-image">
  501.                 <xsl:attribute name="draw:name"><xsl:choose><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛µíê/@σ¢╛:σ¢╛σ╜óσ╝òτö¿"><xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛µíê/@σ¢╛:τ▒╗σ₧ï"/></xsl:when><xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:σ¢╛σ╜óσ╝òτö¿"><xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:σÉìτº░"/></xsl:when></xsl:choose></xsl:attribute>
  502.                 <xsl:call-template name="bina_graphic">
  503.                     <xsl:with-param name="refGraphic">
  504.                         <xsl:choose>
  505.                             <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛µíê/@σ¢╛:σ¢╛σ╜óσ╝òτö¿">
  506.                                 <xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛µíê/@σ¢╛:σ¢╛σ╜óσ╝òτö¿"/>
  507.                             </xsl:when>
  508.                             <xsl:when test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:σ¢╛σ╜óσ╝òτö¿">
  509.                                 <xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σí½σàà/σ¢╛:σ¢╛τëç/@σ¢╛:σ¢╛σ╜óσ╝òτö¿"/>
  510.                             </xsl:when>
  511.                         </xsl:choose>
  512.                     </xsl:with-param>
  513.                 </xsl:call-template>
  514.             </xsl:element>
  515.         </xsl:if>
  516.         <xsl:if test="not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐σ₧ï='single') and not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐σ₧ï='thick') and σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:τ║┐σ₧ï">
  517.             <draw:stroke-dash draw:name="Ultrafine_20_Dashed" draw:display-name="Ultrafine Dashed" draw:style="rect" draw:dots1="1" draw:dots1-length="0.051cm" draw:dots2="1" draw:dots2-length="0.051cm" draw:distance="0.051cm"/>
  518.             <draw:stroke-dash draw:name="Fine_20_Dashed" draw:display-name="Fine Dashed" draw:style="rect" draw:dots1="1" draw:dots1-length="0.508cm" draw:dots2="1" draw:dots2-length="0.508cm" draw:distance="0.508cm"/>
  519.             <draw:stroke-dash draw:name="Ultrafine_20_2_20_Dots_20_3_20_Dashes" draw:display-name="Ultrafine 2 Dots 3 Dashes" draw:style="rect" draw:dots1="2" draw:dots1-length="0.051cm" draw:dots2="3" draw:dots2-length="0.254cm" draw:distance="0.127cm"/>
  520.             <draw:stroke-dash draw:name="Fine_20_Dashed_20__28_var_29_" draw:display-name="Fine Dashed (var)" draw:style="rect" draw:dots1="1" draw:dots1-length="197%" draw:distance="197%"/>
  521.             <draw:stroke-dash draw:name="Fine_20_Dotted" draw:display-name="Fine Dotted" draw:style="rect" draw:dots1="1" draw:distance="0.457cm"/>
  522.             <draw:stroke-dash draw:name="Fine_20_Dashed_20__28_var_29_" draw:display-name="Fine Dashed (var)" draw:style="rect" draw:dots1="1" draw:dots1-length="197%" draw:distance="197%"/>
  523.             <draw:stroke-dash draw:name="Fine_20_Dotted" draw:display-name="Fine Dotted" draw:style="rect" draw:dots1="1" draw:distance="0.457cm"/>
  524.             <draw:stroke-dash draw:name="Line_20_with_20_Fine_20_Dots" draw:display-name="Line with Fine Dots" draw:style="rect" draw:dots1="1" draw:dots1-length="2.007cm" draw:dots2="10" draw:distance="0.152cm"/>
  525.             <draw:stroke-dash draw:name="Line_20_Style_20_9" draw:display-name="Line Style 9" draw:style="rect" draw:dots1="1" draw:dots1-length="197%" draw:distance="120%"/>
  526.             <draw:stroke-dash draw:name="_33__20_Dashes_20_3_20_Dots_20__28_var_29_" draw:display-name="3 Dashes 3 Dots (var)" draw:style="rect" draw:dots1="3" draw:dots1-length="197%" draw:dots2="3" draw:distance="100%"/>
  527.             <draw:stroke-dash draw:name="_32__20_Dots_20_1_20_Dash" draw:display-name="2 Dots 1 Dash" draw:style="rect" draw:dots1="2" draw:dots2="1" draw:dots2-length="0.203cm" draw:distance="0.203cm"/>
  528.             <draw:stroke-dash draw:name="Ultrafine_20_Dotted_20__28_var_29_" draw:display-name="Ultrafine Dotted (var)" draw:style="rect" draw:dots1="1" draw:distance="50%"/>
  529.             <draw:stroke-dash draw:name="Dash_20_10" draw:display-name="Dash 10" draw:style="rect" draw:dots1="1" draw:dots1-length="0.02cm" draw:dots2="1" draw:dots2-length="0.02cm" draw:distance="0.02cm"/>
  530.         </xsl:if>
  531.     </xsl:template>
  532.     <xsl:template name="σìòσàâµá╝σ╝ŵá╖">
  533.         <xsl:variable name="uofSheet" select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝"/>
  534.         <xsl:variable name="uofSheet1" select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿"/>
  535.         <xsl:variable name="uofSheetCom" select="$uofSheet/Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ"/>
  536.         <xsl:variable name="first-style" select="/uof:UOF/uof:σ╝ŵá╖Θ¢å/uof:σìòσàâµá╝σ╝ŵá╖"/>
  537.         <xsl:variable name="quyu" select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû/Φí¿:σî║σƒƒ"/>
  538.         <xsl:variable name="condition-format-set" select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû"/>
  539.         <xsl:variable name="aa">
  540.             <xsl:for-each select="$first-style">
  541.                 <xsl:if test="@Φí¿:µáçΦ»åτ¼ª!=@Φí¿:σÉìτº░ and @Φí¿:σÉìτº░!='Normal'">
  542.                     <xsl:value-of select="@Φí¿:σÉìτº░"/>
  543.                 </xsl:if>
  544.             </xsl:for-each>
  545.         </xsl:variable>
  546.         <xsl:variable name="bb">
  547.             <xsl:for-each select="$first-style">
  548.                 <xsl:if test="@Φí¿:µáçΦ»åτ¼ª!=@Φí¿:σÉìτº░ and @Φí¿:σÉìτº░!='Normal'">
  549.                     <xsl:value-of select="@Φí¿:µáçΦ»åτ¼ª"/>
  550.                 </xsl:if>
  551.             </xsl:for-each>
  552.         </xsl:variable>
  553.         <office:styles>
  554.             <!-- if ConditionalFormatting exists,it should generate some styles for style:style -->
  555.             <!--xsl:if test="$uofSheetCom/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å">
  556.                 <xsl:call-template name="CondFormat_office_style"/>
  557.             </xsl:if-->
  558.             <!--ro000179 chenjh-->
  559.             <xsl:for-each select="$first-style[@Φí¿:τ▒╗σ₧ï='custom' or @Φí¿:τ▒╗σ₧ï='default']">
  560.                 <xsl:call-template name="σìòσàâµá╝σà╖Σ╜ôσ╝ŵá╖"/>
  561.                 <xsl:apply-templates select="Φí¿:µò░σ¡ùµá╝σ╝Å[@Φí¿:µá╝σ╝Åτáü]"/>
  562.                 <xsl:apply-templates select="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å[σ¡ù:Σ╕èΣ╕ïµáç]"/>
  563.             </xsl:for-each>
  564.         </office:styles>
  565.         <office:automatic-styles>
  566.             <xsl:for-each select="$first-style[@Φí¿:τ▒╗σ₧ï='auto']">
  567.                 <xsl:variable name="apply-style-name" select="@Φí¿:σÉìτº░"/>
  568.                 <xsl:variable name="style-name" select="@Φí¿:µáçΦ»åτ¼ª"/>
  569.                 <xsl:choose>
  570.                     <xsl:when test="$style-name!=$apply-style-name and $apply-style-name!='Normal'">
  571.                         <xsl:for-each select="$condition-format-set/Φí¿:µ¥íΣ╗╢">
  572.                             <style:style>
  573.                                 <xsl:attribute name="style:name"><xsl:value-of select="//uof:σìòσàâµá╝σ╝ŵá╖[@Φí¿:σÉìτº░=current()/Φí¿:µá╝σ╝Å/@Φí¿:σ╝ŵá╖σ╝òτö¿ and @Φí¿:τ▒╗σ₧ï='auto']/@Φí¿:µáçΦ»åτ¼ª"/></xsl:attribute>
  574.                                 <xsl:attribute name="style:family">table-cell</xsl:attribute>
  575.                                 <xsl:attribute name="style:parent-style-name">Default</xsl:attribute>
  576.                                 <xsl:for-each select="parent::Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû/Φí¿:µ¥íΣ╗╢">
  577.                                     <xsl:variable name="condition-text">
  578.                                         <xsl:choose>
  579.                                             <xsl:when test="@Φí¿:τ▒╗σ₧ï='cell value'">
  580.                                                 <xsl:choose>
  581.                                                     <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='between' ">
  582.                                                         <xsl:value-of select="concat('cell-content-is-between','(',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  583.                                                     </xsl:when>
  584.                                                     <xsl:when test=" Φí¿:µôìΣ╜£τáü/text()='not between'">
  585.                                                         <xsl:value-of select="concat('cell-content-is-not-between','(',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  586.                                                     </xsl:when>
  587.                                                     <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='equal to'">
  588.                                                         <xsl:value-of select="concat('cell-content()=',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  589.                                                     </xsl:when>
  590.                                                     <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='not equal to'">
  591.                                                         <xsl:value-of select="concat('cell-content()!=',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  592.                                                     </xsl:when>
  593.                                                     <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='greater than'">
  594.                                                         <xsl:value-of select="concat('cell-content()>',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  595.                                                     </xsl:when>
  596.                                                     <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='less than'">
  597.                                                         <xsl:value-of select="concat('cell-content()<',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  598.                                                     </xsl:when>
  599.                                                     <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='greater than or equal to'">
  600.                                                         <xsl:value-of select="concat('cell-content()>=',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  601.                                                     </xsl:when>
  602.                                                     <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='less than or equal to'">
  603.                                                         <xsl:value-of select="concat('cell-content()<=',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  604.                                                     </xsl:when>
  605.                                                 </xsl:choose>
  606.                                             </xsl:when>
  607.                                             <xsl:when test="@Φí¿:τ▒╗σ₧ï='formula'">
  608.                                                 <xsl:value-of select="concat('is-true-formula','(',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),')')"/>
  609.                                             </xsl:when>
  610.                                         </xsl:choose>
  611.                                     </xsl:variable>
  612.                                     <xsl:element name="style:map">
  613.                                         <xsl:variable name="address">
  614.                                             <xsl:value-of select="preceding-sibling::Φí¿:σî║σƒƒ"/>
  615.                                         </xsl:variable>
  616.                                         <xsl:attribute name="style:condition"><xsl:value-of select="$condition-text"/></xsl:attribute>
  617.                                         <xsl:attribute name="style:apply-style-name"><xsl:value-of select="Φí¿:µá╝σ╝Å/@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  618.                                         <xsl:attribute name="style:base-cell-address"><xsl:value-of select="substring-after($address,':')"/></xsl:attribute>
  619.                                     </xsl:element>
  620.                                 </xsl:for-each>
  621.                             </style:style>
  622.                         </xsl:for-each>
  623.                     </xsl:when>
  624.                     <xsl:otherwise>
  625.                         <xsl:for-each select="uof:σìòσàâµá╝σ╝ŵá╖ ">
  626.                             <xsl:if test="@Φí¿:τ▒╗σ₧ï='auto' and (@Φí¿:µáçΦ»åτ¼ª=@Φí¿:σÉìτº░ or @Φí¿:σÉìτº░='Normal')">
  627.                                 <xsl:call-template name="σìòσàâµá╝σà╖Σ╜ôσ╝ŵá╖"/>
  628.                             </xsl:if>
  629.                         </xsl:for-each>
  630.                     </xsl:otherwise>
  631.                 </xsl:choose>
  632.             </xsl:for-each>
  633.             <!--Redoffie comment liliang SC0008 06.02.14-->
  634.             <!--1µû░σó₧σåàσ«╣-->
  635.             <xsl:if test="uof:σìòσàâµá╝σ╝ŵá╖">
  636.                 <xsl:for-each select="uof:σìòσàâµá╝σ╝ŵá╖">
  637.                     <xsl:if test="@Φí¿:τ▒╗σ₧ï='auto' and (@Φí¿:µáçΦ»åτ¼ª=@Φí¿:σÉìτº░ or @Φí¿:σÉìτº░='Normal')">
  638.                         <xsl:call-template name="σìòσàâµá╝σà╖Σ╜ôσ╝ŵá╖"/>
  639.                     </xsl:if>
  640.                 </xsl:for-each>
  641.             </xsl:if>
  642.             <xsl:if test="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í/@uof:σ༵£ëτ▒╗σ₧ï='png' or /uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í/@uof:σ༵£ëτ▒╗σ₧ï='ipg' or /uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í/@uof:σ༵£ëτ▒╗σ₧ï='bmp' or /uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í/@uof:σ༵£ëτ▒╗σ₧ï='gif'">
  643.                 <style:style style:name="Graphics" style:family="graphics">
  644.                     <style:properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="none" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/>
  645.                 </style:style>
  646.             </xsl:if>
  647.             <xsl:apply-templates select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó"/>
  648.             <xsl:apply-templates select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó/σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜/σ¡ù:σÅÑ/σ¡ù:σÅÑσ▒₧µÇº" mode="style"/>
  649.             <!--Redoffice comment end 06.02.14-->
  650.             <xsl:apply-templates select="$uofSheet1/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣"/>
  651.             <xsl:if test="uof:σìòσàâµá╝σ╝ŵá╖">
  652.                 <xsl:for-each select="uof:σìòσàâµá╝σ╝ŵá╖[@Φí¿:τ▒╗σ₧ï='auto' and (@Φí¿:µáçΦ»åτ¼ª=@Φí¿:σÉìτº░ or @Φí¿:σÉìτº░='Normal')]">
  653.                     <xsl:call-template name="σìòσàâµá╝σà╖Σ╜ôσ╝ŵá╖"/>
  654.                     <xsl:apply-templates select="Φí¿:µò░σ¡ùµá╝σ╝Å[@Φí¿:µá╝σ╝Åτáü]"/>
  655.                     <xsl:apply-templates select="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å[σ¡ù:Σ╕èΣ╕ïµáç]"/>
  656.                 </xsl:for-each>
  657.             </xsl:if>
  658.             <!-- if ConditionalFormatting exists,transforing the styles -->
  659.             <!--xsl:if test="$uofSheetCom/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å">
  660.                 <xsl:call-template name="CondFormat_automatic_style"/>
  661.             </xsl:if-->
  662.             <xsl:if test="$uofSheetCom/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû">
  663.                 <xsl:variable name="style-name" select="$first-style/@Φí¿:µáçΦ»åτ¼ª"/>
  664.                 <xsl:variable name="left-top">
  665.                     <xsl:call-template name="search-left-top-in-tables">
  666.                         <xsl:with-param name="cellstylename" select="$style-name"/>
  667.                         <xsl:with-param name="tableslist" select="$uofSheet1/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣"/>
  668.                         <xsl:with-param name="return" select="''"/>
  669.                     </xsl:call-template>
  670.                 </xsl:variable>
  671.                 <xsl:variable name="after-translated-left-top">
  672.                     <xsl:call-template name="translate-left-top">
  673.                         <xsl:with-param name="left-top" select="$left-top"/>
  674.                     </xsl:call-template>
  675.                 </xsl:variable>
  676.                 <xsl:if test="$after-translated-left-top!=''">
  677.                     <xsl:call-template name="create-the-condition-format-map">
  678.                         <xsl:with-param name="condition-format-set" select="$uofSheetCom/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å//Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû"/>
  679.                         <xsl:with-param name="current-left-top" select="$after-translated-left-top"/>
  680.                     </xsl:call-template>
  681.                 </xsl:if>
  682.             </xsl:if>
  683.             <xsl:apply-templates select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù/Φí¿:σìòσàâµá╝/*[descendant-or-self::*[namespace-uri()='http://www.w3.org/TR/REC-html40']]"/>
  684.             <!--xsl:apply-templates select="$uofSheet1/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡τ£ëΘí╡ΦäÜ/σ¡ù:µ«╡ΦÉ╜" /-->
  685.             <xsl:call-template name="create-page-master">
  686.                 <xsl:with-param name="worksheetoptions" select="$uofSheet1/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº"/>
  687.             </xsl:call-template>
  688.             <xsl:for-each select="uof:σÅÑσ╝ŵá╖">
  689.                 <style:style>
  690.                     <xsl:attribute name="style:name"><xsl:value-of select="@σ¡ù:µáçΦ»åτ¼ª"/></xsl:attribute>
  691.                     <xsl:attribute name="style:family">text</xsl:attribute>
  692.                     <style:text-properties>
  693.                         <xsl:apply-templates select="./*"/>
  694.                     </style:text-properties>
  695.                 </style:style>
  696.             </xsl:for-each>
  697.         </office:automatic-styles>
  698.         <office:master-styles>
  699.             <xsl:call-template name="create-master-styles">
  700.                 <xsl:with-param name="worksheetoptions" select="$uofSheet1/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº"/>
  701.             </xsl:call-template>
  702.         </office:master-styles>
  703.     </xsl:template>
  704.     <xsl:template match="Φí¿:µò░µì«µ£ëµòêµÇº">
  705.         <xsl:variable name="range-name-temp">
  706.             <xsl:value-of select="substring-before(Φí¿:σî║σƒƒ,'!')"/>
  707.         </xsl:variable>
  708.         <xsl:variable name="range-name">
  709.             <xsl:value-of select="substring($range-name-temp,2,string-length($range-name-temp)-2)"/>
  710.         </xsl:variable>
  711.         <xsl:variable name="first-range">
  712.             <xsl:choose>
  713.                 <xsl:when test="contains(Φí¿:σî║σƒƒ, ',')">
  714.                     <xsl:value-of select="translate(substring-after(substring-before(Φí¿:σî║σƒƒ, ','),'!'),'$','')"/>
  715.                 </xsl:when>
  716.                 <xsl:otherwise>
  717.                     <xsl:value-of select="translate(substring-after(Φí¿:σî║σƒƒ,'!'),'$','')"/>
  718.                 </xsl:otherwise>
  719.             </xsl:choose>
  720.         </xsl:variable>
  721.         <xsl:variable name="value-first">
  722.             <xsl:value-of select="translate(Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░,'=','')"/>
  723.         </xsl:variable>
  724.         <xsl:variable name="value-second">
  725.             <xsl:value-of select="translate(Φí¿:τ¼¼Σ║îµôìΣ╜£µò░,'=','')"/>
  726.         </xsl:variable>
  727.         <xsl:element name="table:content-validation">
  728.             <xsl:attribute name="table:name"><xsl:value-of select="concat('val', position())"/></xsl:attribute>
  729.             <!--µò░µì«µ£ëµòêµÇº:τ¼¼Σ╕ǵôìΣ╜£µò░πÇüτ¼¼Σ║îµôìΣ╜£µò░-->
  730.             <!-- don't support two type of qualifier: List, Custom -->
  731.             <xsl:attribute name="table:condition"><xsl:variable name="qualifier-content"><xsl:choose><xsl:when test="Φí¿:µôìΣ╜£τáü = 'between'"><xsl:choose><xsl:when test="(number($value-second))"><xsl:value-of select="concat('cell-content-is-between([',$range-name,'.',$value-first,'],',$value-second)"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('cell-content-is-between([',$range-name,'.',$value-first,'],[',$range-name,'.',$value-second,']')"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="Φí¿:µôìΣ╜£τáü = 'not between'"><xsl:choose><xsl:when test="number($value-second)"><xsl:value-of select="concat('cell-content-is-not-between([',$range-name,'.',$value-first,'],',$value-second)"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('cell-content-is-not-between([',$range-name,'.',$value-first,'],[',$range-name,'.',$value-second,']')"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="Φí¿:µôìΣ╜£τáü = 'not equal to'"><xsl:value-of select="concat('!=', $value-first)"/></xsl:when><xsl:when test="Φí¿:µôìΣ╜£τáü = 'equal to'"><xsl:variable name="range1"><xsl:value-of select="substring-after(substring-before($value-first,':'),'(')"/></xsl:variable><xsl:variable name="range2"><xsl:value-of select="substring-before(substring-after($value-first,':'),')')"/></xsl:variable><xsl:value-of select="concat('=SUM([',$range-name,'.',$range1,':',$range-name,'.',$range2,']')"/></xsl:when><xsl:when test="Φí¿:µôìΣ╜£τáü = 'less than'"><xsl:value-of select="concat('<', $value-first)"/></xsl:when><xsl:when test="Φí¿:µôìΣ╜£τáü = 'greater than'"><xsl:value-of select="concat('>', $value-first)"/></xsl:when><xsl:when test="Φí¿:µôìΣ╜£τáü = 'greater than or equal to'"><xsl:value-of select="concat('>=[',$range-name, '.',$value-first,']')"/></xsl:when><xsl:when test="Φí¿:µôìΣ╜£τáü = 'less than or equal to'"><xsl:value-of select="concat('<=[',$range-name,'.', $value-first,']')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('([',$range-name,'.',substring-before($value-first,':'),':',$range-name,'.',substring-after($value-first,':'),'])')"/></xsl:otherwise></xsl:choose></xsl:variable><!--µôìΣ╜£τáüπÇüµáíΘ¬îτ▒╗σ₧ï--><xsl:variable name="qualifier-value"><xsl:choose><xsl:when test="Φí¿:µáíΘ¬îτ▒╗σ₧ï = 'whole number'"><xsl:choose><xsl:when test="(Φí¿:µôìΣ╜£τáü = 'not between') or (Φí¿:µôìΣ╜£τáü = 'between')"><xsl:value-of select="concat('oooc:cell-content-is-whole-number() and ', $qualifier-content, ')')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-is-whole-number() and ', 'cell-content()', $qualifier-content)"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="Φí¿:µáíΘ¬îτ▒╗σ₧ï = 'decimal'"><xsl:choose><xsl:when test="(Φí¿:µôìΣ╜£τáü = 'not between') or (Φí¿:µôìΣ╜£τáü = 'between')"><xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and ', $qualifier-content, ')')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and ', 'cell-content()', $qualifier-content)"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="Φí¿:µáíΘ¬îτ▒╗σ₧ï = 'list'"><xsl:choose><xsl:when test="(Φí¿:µôìΣ╜£τáü = 'not between') or (Φí¿:µôìΣ╜£τáü = 'between')"><xsl:value-of select="concat('oooc:cell-content-is-in-list() and ', $qualifier-content, ')')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-is-in-list',$qualifier-content)"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="Φí¿:µáíΘ¬îτ▒╗σ₧ï = 'date'"><xsl:choose><xsl:when test="(Φí¿:µôìΣ╜£τáü = 'not between') or (Φí¿:µôìΣ╜£τáü = 'between')"><xsl:value-of select="concat('oooc:cell-content-is-date() and ', $qualifier-content, ')')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-is-date() and ', 'cell-content()', $qualifier-content)"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="Φí¿:µáíΘ¬îτ▒╗σ₧ï = 'time'"><xsl:choose><xsl:when test="(Φí¿:µôìΣ╜£τáü = 'not between') or (Φí¿:µôìΣ╜£τáü = 'between')"><xsl:value-of select="concat('oooc:cell-content-is-time() and ', $qualifier-content, ')')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-is-time() and ', 'cell-content()', $qualifier-content)"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="Φí¿:µáíΘ¬îτ▒╗σ₧ï = 'text length'"><xsl:choose><xsl:when test="Φí¿:µôìΣ╜£τáü = 'not between'"><xsl:choose><xsl:when test="number($value-second)"><xsl:value-of select="concat('oooc:cell-content-text-length-is-not-between([', $range-name,'.',$value-first, '],', $value-second, ')')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-text-length-is-not-between([',$range-name,'.', $value-first, '],[',$range-name,'.', $value-second, '])')"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="$value-second and $value-first"><xsl:choose><xsl:when test="number($value-second)"><xsl:value-of select="concat('oooc:cell-content-text-length-is-between([',$range-name,'.',$value-first,'],',$value-second,')')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-text-length-is-between([',$range-name,'.',$value-first,'],[',$range-name,'.',$value-second,'])')"/></xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-text-length()', $qualifier-content)"/></xsl:otherwise></xsl:choose></xsl:when><xsl:when test="Φí¿:µáíΘ¬îτ▒╗σ₧ï = 'custom'"><xsl:choose><xsl:when test="Φí¿:µôìΣ╜£τáü = 'between'"><xsl:value-of select="concat('and cell-content-is-between(',substring-before($value-first,'('),'([',$range-name,'.',substring-after(substring-before($value-first,':'),'('),':',$range-name,'.',substring-before(substring-after($value-first,':'),')'),']),0')"/></xsl:when><xsl:when test="Φí¿:µôìΣ╜£τáü = 'not between'"><xsl:value-of select="concat('oooc:and cell-content-is-not-between(',substring-before($value-first,'('),'([',$range-name,'.',substring-after(substring-before($value-first,':'),'('),':',$range-name,'.',substring-before(substring-after($value-first,':'),')'),']),0')"/></xsl:when><xsl:otherwise><xsl:value-of select="concat('oooc:cell-content-is-custom() and ', 'cell-content()', $qualifier-content)"/></xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise><xsl:value-of select="Φí¿:µáíΘ¬îτ▒╗σ₧ï"/></xsl:otherwise></xsl:choose></xsl:variable><xsl:value-of select="$qualifier-value"/></xsl:attribute>
  732.             <!--σ┐╜τòÑτ⌐║µá╝-->
  733.             <xsl:attribute name="table:allow-empty-cell"><xsl:choose><xsl:when test="Φí¿:σ┐╜τòÑτ⌐║µá╝"><xsl:value-of select="'false'"/></xsl:when><xsl:otherwise><xsl:value-of select="'true'"/></xsl:otherwise></xsl:choose></xsl:attribute>
  734.             <xsl:attribute name="table:base-cell-address"><xsl:variable name="range"><xsl:value-of select="$first-range"/><!--xsl:call-template name="translate-expression">
  735.                         <xsl:with-param name="cell-row-pos" select="0" />
  736.                         <xsl:with-param name="cell-column-pos" select="0" />
  737.                         <xsl:with-param name="expression" select="$first-range" />
  738.                         <xsl:with-param name="return-value" select="''" />
  739.                     </xsl:call-template--></xsl:variable><xsl:call-template name="encode-as-cell-address"><xsl:with-param name="string" select="concat($range-name, '.', $range)"/></xsl:call-template></xsl:attribute>
  740.             <!--Φ╛ôσàѵÅÉτñ║-->
  741.             <xsl:element name="table:help-message">
  742.                 <xsl:attribute name="table:title"><xsl:value-of select="Φí¿:Φ╛ôσàѵÅÉτñ║/@Φí¿:µáçΘóÿ"/></xsl:attribute>
  743.                 <xsl:attribute name="table:display"><xsl:choose><xsl:when test="Φí¿:Φ╛ôσàѵÅÉτñ║/@Φí¿:µÿ╛τñ║"><xsl:value-of select="Φí¿:Φ╛ôσàѵÅÉτñ║/@Φí¿:µÿ╛τñ║"/></xsl:when><xsl:otherwise><xsl:value-of select="'false'"/></xsl:otherwise></xsl:choose></xsl:attribute>
  744.                 <xsl:element name="text:p">
  745.                     <xsl:value-of select="Φí¿:Φ╛ôσàѵÅÉτñ║/@Φí¿:σåàσ«╣"/>
  746.                 </xsl:element>
  747.             </xsl:element>
  748.             <!--ΘöÖΦ»»µÅÉτñ║-->
  749.             <xsl:element name="table:error-message">
  750.                 <xsl:attribute name="table:message-type"><xsl:choose><xsl:when test="Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:τ▒╗σ₧ï= 'information'"><xsl:value-of select="'information'"/></xsl:when><xsl:when test="Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:τ▒╗σ₧ï= 'warning'"><xsl:value-of select="'warning'"/></xsl:when><xsl:otherwise><xsl:value-of select="'stop'"/></xsl:otherwise></xsl:choose></xsl:attribute>
  751.                 <xsl:attribute name="table:title"><xsl:value-of select="Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:µáçΘóÿ"/></xsl:attribute>
  752.                 <xsl:attribute name="table:display"><xsl:choose><xsl:when test="Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:µÿ╛τñ║"><xsl:value-of select="Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:µÿ╛τñ║"/></xsl:when><xsl:otherwise><xsl:value-of select="'false'"/></xsl:otherwise></xsl:choose></xsl:attribute>
  753.                 <xsl:element name="text:p">
  754.                     <xsl:value-of select="Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:σåàσ«╣"/>
  755.                 </xsl:element>
  756.             </xsl:element>
  757.         </xsl:element>
  758.     </xsl:template>
  759.     <xsl:template name="CondFormat_office_style">
  760.         <xsl:for-each select="../../uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû">
  761.             <xsl:variable name="table-pos" select="count(../../../preceding-sibling::Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ)+1"/>
  762.             <xsl:variable name="conditions" select="count(../preceding-sibling::Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å)+1"/>
  763.             <xsl:for-each select="Φí¿:µ¥íΣ╗╢">
  764.                 <xsl:variable name="condition-number" select="count(preceding-sibling::Φí¿:µ¥íΣ╗╢)+1"/>
  765.                 <xsl:element name="style:style">
  766.                     <xsl:attribute name="style:name"><xsl:call-template name="encode-as-nc-name"><xsl:with-param name="string" select="concat('Excel_CondFormat_',$table-pos,'_',$conditions,'_',$condition-number)"/></xsl:call-template></xsl:attribute>
  767.                     <xsl:attribute name="style:family">table-cell</xsl:attribute>
  768.                     <xsl:element name="style:properties">
  769.                         <xsl:choose>
  770.                             <xsl:when test="Φí¿:µá╝σ╝Å/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  771.                                 <xsl:variable name="stylevalue" select="Φí¿:µá╝σ╝Å/@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  772.                                 <xsl:call-template name="recursion-condformat-style-table-cell">
  773.                                     <xsl:with-param name="style-value-t">
  774.                                         <xsl:choose>
  775.                                             <xsl:when test="substring($stylevalue,string-length($stylevalue),1) != ';'">
  776.                                                 <xsl:value-of select="concat($stylevalue,';')"/>
  777.                                             </xsl:when>
  778.                                             <xsl:otherwise>
  779.                                                 <xsl:value-of select="$stylevalue"/>
  780.                                             </xsl:otherwise>
  781.                                         </xsl:choose>
  782.                                     </xsl:with-param>
  783.                                 </xsl:call-template>
  784.                             </xsl:when>
  785.                         </xsl:choose>
  786.                     </xsl:element>
  787.                     <!--xsl:element name="style:text-properties"-->
  788.                     <!--chengxz0618-->
  789.                     <xsl:element name="style:properties">
  790.                         <xsl:choose>
  791.                             <xsl:when test="Φí¿:µá╝σ╝Å/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  792.                                 <xsl:variable name="stylevalue" select="Φí¿:µá╝σ╝Å/@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  793.                                 <xsl:call-template name="recursion-condformat-style-text">
  794.                                     <xsl:with-param name="style-value-t">
  795.                                         <xsl:choose>
  796.                                             <xsl:when test="substring($stylevalue,string-length($stylevalue),1) != ';'">
  797.                                                 <xsl:value-of select="concat($stylevalue,';')"/>
  798.                                             </xsl:when>
  799.                                             <xsl:otherwise>
  800.                                                 <xsl:value-of select="$stylevalue"/>
  801.                                             </xsl:otherwise>
  802.                                         </xsl:choose>
  803.                                     </xsl:with-param>
  804.                                 </xsl:call-template>
  805.                             </xsl:when>
  806.                             <xsl:otherwise>
  807.                                 <xsl:attribute name="fo:font-style"><xsl:value-of select="'italic'"/></xsl:attribute>
  808.                                 <xsl:attribute name="style:text-underline-type"><xsl:value-of select="'single'"/></xsl:attribute>
  809.                                 <xsl:attribute name="style:text-underline-color"><xsl:value-of select="'font-color'"/></xsl:attribute>
  810.                                 <xsl:attribute name="fo:font-weight"><xsl:value-of select="'bold'"/></xsl:attribute>
  811.                             </xsl:otherwise>
  812.                         </xsl:choose>
  813.                     </xsl:element>
  814.                 </xsl:element>
  815.             </xsl:for-each>
  816.         </xsl:for-each>
  817.     </xsl:template>
  818.     <xsl:template name="cell-pattern-color">
  819.         <xsl:param name="pattern"/>
  820.         <xsl:param name="color-value"/>
  821.         <xsl:param name="pattern-color-value"/>
  822.         <xsl:variable name="rev-pattern" select="1 - $pattern"/>
  823.         <xsl:variable name="color-R-value">
  824.             <xsl:call-template name="hex2decimal">
  825.                 <xsl:with-param name="hex-number" select="substring($color-value,2,2)"/>
  826.                 <xsl:with-param name="index" select="1"/>
  827.                 <xsl:with-param name="str-length" select="2"/>
  828.                 <xsl:with-param name="last-value" select="0"/>
  829.             </xsl:call-template>
  830.         </xsl:variable>
  831.         <xsl:variable name="color-G-value">
  832.             <xsl:call-template name="hex2decimal">
  833.                 <xsl:with-param name="hex-number" select="substring($color-value,4,2)"/>
  834.                 <xsl:with-param name="index" select="1"/>
  835.                 <xsl:with-param name="str-length" select="2"/>
  836.                 <xsl:with-param name="last-value" select="0"/>
  837.             </xsl:call-template>
  838.         </xsl:variable>
  839.         <xsl:variable name="color-B-value">
  840.             <xsl:call-template name="hex2decimal">
  841.                 <xsl:with-param name="hex-number" select="substring($color-value,6,2)"/>
  842.                 <xsl:with-param name="index" select="1"/>
  843.                 <xsl:with-param name="str-length" select="2"/>
  844.                 <xsl:with-param name="last-value" select="0"/>
  845.             </xsl:call-template>
  846.         </xsl:variable>
  847.         <xsl:variable name="pattern-R-value">
  848.             <xsl:call-template name="hex2decimal">
  849.                 <xsl:with-param name="hex-number" select="substring($pattern-color-value,2,2)"/>
  850.                 <xsl:with-param name="index" select="1"/>
  851.                 <xsl:with-param name="str-length" select="2"/>
  852.                 <xsl:with-param name="last-value" select="0"/>
  853.             </xsl:call-template>
  854.         </xsl:variable>
  855.         <xsl:variable name="pattern-G-value">
  856.             <xsl:call-template name="hex2decimal">
  857.                 <xsl:with-param name="hex-number" select="substring($pattern-color-value,4,2)"/>
  858.                 <xsl:with-param name="index" select="1"/>
  859.                 <xsl:with-param name="str-length" select="2"/>
  860.                 <xsl:with-param name="last-value" select="0"/>
  861.             </xsl:call-template>
  862.         </xsl:variable>
  863.         <xsl:variable name="pattern-B-value">
  864.             <xsl:call-template name="hex2decimal">
  865.                 <xsl:with-param name="hex-number" select="substring($pattern-color-value,6,2)"/>
  866.                 <xsl:with-param name="index" select="1"/>
  867.                 <xsl:with-param name="str-length" select="2"/>
  868.                 <xsl:with-param name="last-value" select="0"/>
  869.             </xsl:call-template>
  870.         </xsl:variable>
  871.         <xsl:variable name="R-value">
  872.             <xsl:variable name="combined-R-value">
  873.                 <xsl:call-template name="decimal2hex">
  874.                     <xsl:with-param name="dec-number" select="floor($color-R-value * $rev-pattern + $pattern-R-value * $pattern)"/>
  875.                     <xsl:with-param name="last-value" select="'H'"/>
  876.                 </xsl:call-template>
  877.             </xsl:variable>
  878.             <xsl:choose>
  879.                 <xsl:when test="string-length($combined-R-value) = 1">
  880.                     <xsl:value-of select="concat('0',$combined-R-value)"/>
  881.                 </xsl:when>
  882.                 <xsl:otherwise>
  883.                     <xsl:value-of select="$combined-R-value"/>
  884.                 </xsl:otherwise>
  885.             </xsl:choose>
  886.         </xsl:variable>
  887.         <xsl:variable name="G-value">
  888.             <xsl:variable name="combined-G-value">
  889.                 <xsl:call-template name="decimal2hex">
  890.                     <xsl:with-param name="dec-number" select="floor($color-G-value * $rev-pattern + $pattern-G-value * $pattern)"/>
  891.                     <xsl:with-param name="last-value" select="'H'"/>
  892.                 </xsl:call-template>
  893.             </xsl:variable>
  894.             <xsl:choose>
  895.                 <xsl:when test="string-length($combined-G-value) = 1">
  896.                     <xsl:value-of select="concat('0',$combined-G-value)"/>
  897.                 </xsl:when>
  898.                 <xsl:otherwise>
  899.                     <xsl:value-of select="$combined-G-value"/>
  900.                 </xsl:otherwise>
  901.             </xsl:choose>
  902.         </xsl:variable>
  903.         <xsl:variable name="B-value">
  904.             <xsl:variable name="combined-B-value">
  905.                 <xsl:call-template name="decimal2hex">
  906.                     <xsl:with-param name="dec-number" select="floor($color-B-value * $rev-pattern + $pattern-B-value * $pattern)"/>
  907.                     <xsl:with-param name="last-value" select="'H'"/>
  908.                 </xsl:call-template>
  909.             </xsl:variable>
  910.             <xsl:choose>
  911.                 <xsl:when test="string-length($combined-B-value) = 1">
  912.                     <xsl:value-of select="concat('0',$combined-B-value)"/>
  913.                 </xsl:when>
  914.                 <xsl:otherwise>
  915.                     <xsl:value-of select="$combined-B-value"/>
  916.                 </xsl:otherwise>
  917.             </xsl:choose>
  918.         </xsl:variable>
  919.         <xsl:value-of select="concat('#',$R-value,$G-value,$B-value)"/>
  920.     </xsl:template>
  921.     <xsl:template name="hex2decimal">
  922.         <xsl:param name="hex-number"/>
  923.         <xsl:param name="index"/>
  924.         <xsl:param name="str-length"/>
  925.         <xsl:param name="last-value"/>
  926.         <xsl:variable name="dec-char">
  927.             <xsl:call-template name="hexNumber2dec">
  928.                 <xsl:with-param name="hex-value" select="substring($hex-number, $index ,1)"/>
  929.             </xsl:call-template>
  930.         </xsl:variable>
  931.         <xsl:variable name="current-value" select="$last-value * 16 + $dec-char"/>
  932.         <xsl:if test="$index < $str-length">
  933.             <xsl:call-template name="hex2decimal">
  934.                 <xsl:with-param name="hex-number" select="$hex-number"/>
  935.                 <xsl:with-param name="index" select="$index + 1"/>
  936.                 <xsl:with-param name="str-length" select="$str-length"/>
  937.                 <xsl:with-param name="last-value" select="$current-value"/>
  938.             </xsl:call-template>
  939.         </xsl:if>
  940.         <xsl:if test="$index = $str-length">
  941.             <xsl:value-of select="$current-value"/>
  942.         </xsl:if>
  943.     </xsl:template>
  944.     <xsl:template name="hexNumber2dec">
  945.         <xsl:param name="hex-value"/>
  946.         <xsl:choose>
  947.             <xsl:when test="$hex-value = 'A' or ($hex-value = 'a')">
  948.                 <xsl:value-of select="10"/>
  949.             </xsl:when>
  950.             <xsl:when test="$hex-value = 'B' or ($hex-value = 'b')">
  951.                 <xsl:value-of select="11"/>
  952.             </xsl:when>
  953.             <xsl:when test="$hex-value = 'C' or ($hex-value = 'c')">
  954.                 <xsl:value-of select="12"/>
  955.             </xsl:when>
  956.             <xsl:when test="$hex-value = 'D' or ($hex-value = 'd')">
  957.                 <xsl:value-of select="13"/>
  958.             </xsl:when>
  959.             <xsl:when test="$hex-value = 'E' or ($hex-value = 'e')">
  960.                 <xsl:value-of select="14"/>
  961.             </xsl:when>
  962.             <xsl:when test="$hex-value = 'F' or ($hex-value = 'f')">
  963.                 <xsl:value-of select="15"/>
  964.             </xsl:when>
  965.             <xsl:otherwise>
  966.                 <xsl:value-of select="$hex-value"/>
  967.             </xsl:otherwise>
  968.         </xsl:choose>
  969.     </xsl:template>
  970.     <xsl:template name="decimal2hex">
  971.         <xsl:param name="dec-number"/>
  972.         <xsl:param name="last-value"/>
  973.         <xsl:variable name="current-value">
  974.             <xsl:call-template name="decNumber2hex">
  975.                 <xsl:with-param name="dec-value">
  976.                     <xsl:if test="$dec-number > 15">
  977.                         <xsl:value-of select="floor($dec-number div 16)"/>
  978.                     </xsl:if>
  979.                     <xsl:if test="$dec-number < 16">
  980.                         <xsl:value-of select="$dec-number"/>
  981.                     </xsl:if>
  982.                 </xsl:with-param>
  983.             </xsl:call-template>
  984.         </xsl:variable>
  985.         <xsl:if test="$dec-number > 15">
  986.             <xsl:call-template name="decimal2hex">
  987.                 <xsl:with-param name="dec-number" select="$dec-number mod 16"/>
  988.                 <xsl:with-param name="last-value" select="concat($last-value,$current-value)"/>
  989.             </xsl:call-template>
  990.         </xsl:if>
  991.         <xsl:if test="$dec-number < 16">
  992.             <xsl:value-of select="substring-after(concat($last-value,$current-value),'H')"/>
  993.         </xsl:if>
  994.     </xsl:template>
  995.     <xsl:template name="decNumber2hex">
  996.         <xsl:param name="dec-value"/>
  997.         <xsl:choose>
  998.             <xsl:when test="$dec-value = 10">
  999.                 <xsl:value-of select="'A'"/>
  1000.             </xsl:when>
  1001.             <xsl:when test="$dec-value = 11">
  1002.                 <xsl:value-of select="'B'"/>
  1003.             </xsl:when>
  1004.             <xsl:when test="$dec-value = 12">
  1005.                 <xsl:value-of select="'C'"/>
  1006.             </xsl:when>
  1007.             <xsl:when test="$dec-value = 13">
  1008.                 <xsl:value-of select="'D'"/>
  1009.             </xsl:when>
  1010.             <xsl:when test="$dec-value = 14">
  1011.                 <xsl:value-of select="'E'"/>
  1012.             </xsl:when>
  1013.             <xsl:when test="$dec-value = 15">
  1014.                 <xsl:value-of select="'F'"/>
  1015.             </xsl:when>
  1016.             <xsl:otherwise>
  1017.                 <xsl:value-of select="$dec-value"/>
  1018.             </xsl:otherwise>
  1019.         </xsl:choose>
  1020.     </xsl:template>
  1021.     <xsl:template name="recursion-condformat-style-table-cell">
  1022.         <xsl:param name="style-value-t"/>
  1023.         <xsl:variable name="style-value" select="$style-value-t"/>
  1024.         <xsl:choose>
  1025.             <xsl:when test="starts-with($style-value,'background')">
  1026.                 <xsl:choose>
  1027.                     <xsl:when test="contains($style-value,'mso-pattern')">
  1028.                         <xsl:variable name="color-value">
  1029.                             <xsl:call-template name="translate-color-style">
  1030.                                 <xsl:with-param name="source-str" select="normalize-space(substring-before(substring-after($style-value,':'),';'))"/>
  1031.                             </xsl:call-template>
  1032.                         </xsl:variable>
  1033.                         <xsl:variable name="mso-value">
  1034.                             <xsl:call-template name="translate-color-style">
  1035.                                 <xsl:with-param name="source-str" select="normalize-space(substring-after($style-value,'mso-pattern'))"/>
  1036.                             </xsl:call-template>
  1037.                         </xsl:variable>
  1038.                         <xsl:variable name="mso-color" select="substring-after($mso-value,'#')"/>
  1039.                         <xsl:variable name="pattern-color-value" select="substring($mso-color,1,6)"/>
  1040.                         <xsl:variable name="pattern" select="concat('0.',normalize-space(substring-before(substring-after($mso-color,'gray-'),';')))"/>
  1041.                         <xsl:variable name="pattern-color">
  1042.                             <xsl:call-template name="cell-pattern-color">
  1043.                                 <xsl:with-param name="pattern" select="$pattern"/>
  1044.                                 <xsl:with-param name="color-value" select="$color-value"/>
  1045.                                 <xsl:with-param name="pattern-color-value" select="concat('#',$pattern-color-value)"/>
  1046.                             </xsl:call-template>
  1047.                         </xsl:variable>
  1048.                         <xsl:attribute name="fo:background-color"><xsl:value-of select="normalize-space($pattern-color)"/></xsl:attribute>
  1049.                     </xsl:when>
  1050.                     <xsl:otherwise>
  1051.                         <xsl:attribute name="fo:background-color"><xsl:call-template name="translate-color-style"><xsl:with-param name="source-str" select="normalize-space(substring-before(substring-after($style-value,':'),';'))"/></xsl:call-template></xsl:attribute>
  1052.                     </xsl:otherwise>
  1053.                 </xsl:choose>
  1054.             </xsl:when>
  1055.             <xsl:when test="starts-with($style-value,'border')">
  1056.                 <xsl:attribute name="fo:border"><xsl:value-of select="'0.002cm solid #000000'"/></xsl:attribute>
  1057.             </xsl:when>
  1058.         </xsl:choose>
  1059.         <xsl:if test="contains($style-value,':')">
  1060.             <xsl:call-template name="recursion-condformat-style-table-cell">
  1061.                 <xsl:with-param name="style-value-t" select="substring-after($style-value,';')"/>
  1062.             </xsl:call-template>
  1063.         </xsl:if>
  1064.     </xsl:template>
  1065.     <xsl:template name="recursion-condformat-style-text">
  1066.         <xsl:param name="style-value-t"/>
  1067.         <xsl:variable name="style-value" select="normalize-space($style-value-t)"/>
  1068.         <xsl:choose>
  1069.             <xsl:when test="starts-with($style-value,'color')">
  1070.                 <xsl:attribute name="fo:color"><xsl:call-template name="translate-color-style"><xsl:with-param name="source-str" select="normalize-space(substring-before(substring-after($style-value,':'),';'))"/></xsl:call-template></xsl:attribute>
  1071.             </xsl:when>
  1072.             <xsl:when test="starts-with($style-value,'font-style')">
  1073.                 <xsl:attribute name="fo:font-style"><xsl:value-of select="normalize-space(substring-before(substring-after($style-value,':'),';'))"/></xsl:attribute>
  1074.             </xsl:when>
  1075.             <xsl:when test="starts-with($style-value,'font-weight')">
  1076.                 <xsl:variable name="font-weight" select="normalize-space(substring-before(substring-after($style-value,':'),';'))"/>
  1077.                 <xsl:attribute name="fo:font-weight"><xsl:choose><xsl:when test="($font-weight > 300) and ($font-weight < 500)"><xsl:value-of select="'normal'"/></xsl:when><xsl:when test="($font-weight > 500) or ($font-weight = 500)"><xsl:value-of select="'bold'"/></xsl:when><xsl:otherwise><xsl:value-of select="'0'"/></xsl:otherwise></xsl:choose></xsl:attribute>
  1078.             </xsl:when>
  1079.             <xsl:when test="starts-with($style-value,'text-underline-style')">
  1080.                 <xsl:attribute name="style:text-underline-type"><xsl:value-of select="normalize-space(substring-before(substring-after($style-value,':'),';'))"/></xsl:attribute>
  1081.                 <xsl:attribute name="style:text-underline-color"><xsl:value-of select="'#000000'"/></xsl:attribute>
  1082.             </xsl:when>
  1083.         </xsl:choose>
  1084.         <xsl:if test="contains($style-value,':')">
  1085.             <xsl:call-template name="recursion-condformat-style-text">
  1086.                 <xsl:with-param name="style-value-t" select="substring-after($style-value,';')"/>
  1087.             </xsl:call-template>
  1088.         </xsl:if>
  1089.     </xsl:template>
  1090.     <xsl:template name="translate-color-style">
  1091.         <xsl:param name="source-str"/>
  1092.         <xsl:choose>
  1093.             <xsl:when test="starts-with($source-str,'#')">
  1094.                 <xsl:value-of select="$source-str"/>
  1095.             </xsl:when>
  1096.             <xsl:otherwise>
  1097.                 <xsl:choose>
  1098.                     <xsl:when test="starts-with($source-str,'black')">
  1099.                         <xsl:value-of select="'#000000'"/>
  1100.                     </xsl:when>
  1101.                     <xsl:when test="starts-with($source-str,'maroon')">
  1102.                         <xsl:value-of select="'#800000'"/>
  1103.                     </xsl:when>
  1104.                     <xsl:when test="starts-with($source-str,'red')">
  1105.                         <xsl:value-of select="'#FF0000'"/>
  1106.                     </xsl:when>
  1107.                     <xsl:when test="starts-with($source-str,'fuchsia')">
  1108.                         <xsl:value-of select="'#FF00FF'"/>
  1109.                     </xsl:when>
  1110.                     <xsl:when test="starts-with($source-str,'olive')">
  1111.                         <xsl:value-of select="'#808000'"/>
  1112.                     </xsl:when>
  1113.                     <xsl:when test="starts-with($source-str,'yellow')">
  1114.                         <xsl:value-of select="'#FFFF00'"/>
  1115.                     </xsl:when>
  1116.                     <xsl:when test="starts-with($source-str,'green')">
  1117.                         <xsl:value-of select="'#008000'"/>
  1118.                     </xsl:when>
  1119.                     <xsl:when test="starts-with($source-str,'lime')">
  1120.                         <xsl:value-of select="'#00FF00'"/>
  1121.                     </xsl:when>
  1122.                     <xsl:when test="starts-with($source-str,'teal')">
  1123.                         <xsl:value-of select="'#008080'"/>
  1124.                     </xsl:when>
  1125.                     <xsl:when test="starts-with($source-str,'aqua')">
  1126.                         <xsl:value-of select="'#00FFFF'"/>
  1127.                     </xsl:when>
  1128.                     <xsl:when test="starts-with($source-str,'navy')">
  1129.                         <xsl:value-of select="'#000080'"/>
  1130.                     </xsl:when>
  1131.                     <xsl:when test="starts-with($source-str,'blue')">
  1132.                         <xsl:value-of select="'#0000FF'"/>
  1133.                     </xsl:when>
  1134.                     <xsl:when test="starts-with($source-str,'purple')">
  1135.                         <xsl:value-of select="'#800080'"/>
  1136.                     </xsl:when>
  1137.                     <xsl:when test="starts-with($source-str,'gray')">
  1138.                         <xsl:value-of select="'#808080'"/>
  1139.                     </xsl:when>
  1140.                     <xsl:when test="starts-with($source-str,'silver')">
  1141.                         <xsl:value-of select="'#C0C0C0'"/>
  1142.                     </xsl:when>
  1143.                     <xsl:when test="starts-with($source-str,'white')">
  1144.                         <xsl:value-of select="'#FFFFFF'"/>
  1145.                     </xsl:when>
  1146.                     <xsl:otherwise>
  1147.                         <xsl:value-of select="'#FFFFFF'"/>
  1148.                     </xsl:otherwise>
  1149.                 </xsl:choose>
  1150.             </xsl:otherwise>
  1151.         </xsl:choose>
  1152.     </xsl:template>
  1153.     <xsl:template name="CondFormat_automatic_style">
  1154.         <xsl:for-each select="../uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû">
  1155.             <xsl:variable name="table-pos" select="count(../../../preceding-sibling::Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ)+1"/>
  1156.             <xsl:variable name="conditions" select="count(../preceding-sibling::Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å)+1"/>
  1157.             <xsl:element name="style:style">
  1158.                 <xsl:attribute name="style:name"><xsl:call-template name="encode-as-nc-name"><xsl:with-param name="string" select="concat('ce',$table-pos,'-',$conditions)"/></xsl:call-template></xsl:attribute>
  1159.                 <xsl:attribute name="style:family">table-cell</xsl:attribute>
  1160.                 <xsl:for-each select="uof:σìòσàâµá╝σ╝ŵá╖/Φí¿:µ¥íΣ╗╢">
  1161.                     <xsl:variable name="condition-number" select="count(preceding-sibling::Φí¿:µ¥íΣ╗╢)+1"/>
  1162.                     <xsl:variable name="base-address">
  1163.                         <xsl:choose>
  1164.                             <xsl:when test="contains(../Φí¿:σî║σƒƒ,',')">
  1165.                                 <xsl:choose>
  1166.                                     <xsl:when test="contains(substring-before(../Φí¿:σî║σƒƒ,','),':')">
  1167.                                         <xsl:value-of select="substring-before(substring-after(../Φí¿:σî║σƒƒ,':'),',')"/>
  1168.                                     </xsl:when>
  1169.                                     <xsl:otherwise>
  1170.                                         <xsl:value-of select="substring-before(../Φí¿:σî║σƒƒ,',')"/>
  1171.                                     </xsl:otherwise>
  1172.                                 </xsl:choose>
  1173.                             </xsl:when>
  1174.                             <xsl:otherwise>
  1175.                                 <xsl:value-of select="../Φí¿:σî║σƒƒ"/>
  1176.                             </xsl:otherwise>
  1177.                         </xsl:choose>
  1178.                     </xsl:variable>
  1179.                     <xsl:variable name="base-cell-address">
  1180.                         <xsl:call-template name="translate-unit">
  1181.                             <xsl:with-param name="column-number" select="substring-before(substring-after($base-address,'R'),'C')"/>
  1182.                             <xsl:with-param name="row-number" select="substring-after($base-address,'C')"/>
  1183.                             <xsl:with-param name="column-pos-style" select="absolute"/>
  1184.                             <xsl:with-param name="row-pos-style" select="absolute"/>
  1185.                         </xsl:call-template>
  1186.                     </xsl:variable>
  1187.                     <xsl:variable name="condition-value">
  1188.                         <xsl:call-template name="translate-condition">
  1189.                         </xsl:call-template>
  1190.                     </xsl:variable>
  1191.                     <xsl:element name="style:map">
  1192.                         <xsl:attribute name="style:condition"><xsl:value-of select="$condition-value"/></xsl:attribute>
  1193.                         <xsl:attribute name="style:apply-style-name"><xsl:value-of select="concat('Excel_CondFormat_',$table-pos,'_',$conditions,'_',$condition-number)"/></xsl:attribute>
  1194.                         <xsl:attribute name="style:base-cell-address"><xsl:value-of select="concat(../../@Name,'.',$base-cell-address)"/></xsl:attribute>
  1195.                     </xsl:element>
  1196.                 </xsl:for-each>
  1197.             </xsl:element>
  1198.         </xsl:for-each>
  1199.     </xsl:template>
  1200.     <xsl:template name="translate-condition">
  1201.         <xsl:variable name="address-value">
  1202.             <xsl:call-template name="translate-expression">
  1203.                 <xsl:with-param name="cell-row-pos" select="0"/>
  1204.                 <xsl:with-param name="cell-column-pos" select="0"/>
  1205.                 <xsl:with-param name="expression" select="Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░"/>
  1206.                 <xsl:with-param name="return-value" select="''"/>
  1207.             </xsl:call-template>
  1208.         </xsl:variable>
  1209.         <xsl:choose>
  1210.             <xsl:when test="Φí¿:µôìΣ╜£τáü">
  1211.                 <xsl:variable name="qualifier" select="Φí¿:µôìΣ╜£τáü"/>
  1212.                 <xsl:variable name="first-value" select="Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░"/>
  1213.                 <xsl:choose>
  1214.                     <xsl:when test="$qualifier = 'Equal'">
  1215.                         <xsl:choose>
  1216.                             <xsl:when test="starts-with($first-value,'"')">
  1217.                                 <xsl:value-of select="concat('cell-content()=',$address-value)"/>
  1218.                             </xsl:when>
  1219.                             <xsl:otherwise>
  1220.                                 <xsl:value-of select="concat('cell-content()=[',$address-value,']')"/>
  1221.                             </xsl:otherwise>
  1222.                         </xsl:choose>
  1223.                     </xsl:when>
  1224.                     <xsl:when test="$qualifier = 'Less'">
  1225.                         <xsl:value-of select="concat('cell-content()<[',$address-value,']')"/>
  1226.                     </xsl:when>
  1227.                     <xsl:when test="$qualifier = 'Greater'">
  1228.                         <xsl:value-of select="concat('cell-content()>[',$address-value,']')"/>
  1229.                     </xsl:when>
  1230.                     <xsl:when test="$qualifier = 'LessOrEqual'">
  1231.                         <xsl:value-of select="concat('cell-content()<=[',$address-value,']')"/>
  1232.                     </xsl:when>
  1233.                     <xsl:when test="$qualifier = 'GreaterOrEqual'">
  1234.                         <xsl:value-of select="concat('cell-content()>=[',$address-value,']')"/>
  1235.                     </xsl:when>
  1236.                     <xsl:when test="$qualifier = 'NotEqual'">
  1237.                         <xsl:value-of select="concat('cell-content()!=[',$address-value,']')"/>
  1238.                     </xsl:when>
  1239.                     <xsl:when test="$qualifier = 'Between'">
  1240.                         <xsl:variable name="second-value">
  1241.                             <xsl:call-template name="translate-expression">
  1242.                                 <xsl:with-param name="cell-row-pos" select="0"/>
  1243.                                 <xsl:with-param name="cell-column-pos" select="0"/>
  1244.                                 <xsl:with-param name="expression" select="Φí¿:τ¼¼Σ║îµôìΣ╜£µò░"/>
  1245.                                 <xsl:with-param name="return-value" select="''"/>
  1246.                             </xsl:call-template>
  1247.                         </xsl:variable>
  1248.                         <xsl:value-of select="concat('cell-content-is-between([',$address-value,'],[',$second-value,'])')"/>
  1249.                     </xsl:when>
  1250.                     <xsl:when test="$qualifier = 'NotBetween'">
  1251.                         <xsl:variable name="second-value">
  1252.                             <xsl:call-template name="translate-expression">
  1253.                                 <xsl:with-param name="cell-row-pos" select="0"/>
  1254.                                 <xsl:with-param name="cell-column-pos" select="0"/>
  1255.                                 <xsl:with-param name="expression" select="Φí¿:τ¼¼Σ║îµôìΣ╜£µò░"/>
  1256.                                 <xsl:with-param name="return-value" select="''"/>
  1257.                             </xsl:call-template>
  1258.                         </xsl:variable>
  1259.                         <xsl:value-of select="concat('cell-content-is-not-between([',$address-value,'],[',$second-value,'])')"/>
  1260.                     </xsl:when>
  1261.                 </xsl:choose>
  1262.             </xsl:when>
  1263.             <xsl:otherwise>
  1264.                 <xsl:value-of select="concat('is-true-formula(',$address-value,')')"/>
  1265.             </xsl:otherwise>
  1266.         </xsl:choose>
  1267.     </xsl:template>
  1268.     <xsl:template name="translate-expression">
  1269.         <xsl:param name="cell-row-pos"/>
  1270.         <xsl:param name="cell-column-pos"/>
  1271.         <xsl:param name="expression"/>
  1272.         <xsl:param name="return-value"/>
  1273.         <xsl:variable name="temp-range">
  1274.             <xsl:choose>
  1275.                 <xsl:when test="$expression != ''">
  1276.                     <xsl:call-template name="parse-range-name">
  1277.                         <xsl:with-param name="expression" select="$expression"/>
  1278.                         <xsl:with-param name="return-value" select="''"/>
  1279.                     </xsl:call-template>
  1280.                 </xsl:when>
  1281.                 <xsl:otherwise>
  1282.                     <xsl:value-of select="''"/>
  1283.                 </xsl:otherwise>
  1284.             </xsl:choose>
  1285.         </xsl:variable>
  1286.         <xsl:variable name="range-type">
  1287.             <xsl:choose>
  1288.                 <xsl:when test="substring($temp-range, 1, 1) = '1'">
  1289.                     <xsl:value-of select="1"/>
  1290.                 </xsl:when>
  1291.                 <xsl:when test="substring($temp-range, 1, 1) = '2'">
  1292.                     <xsl:value-of select="2"/>
  1293.                 </xsl:when>
  1294.                 <xsl:otherwise>
  1295.                     <xsl:value-of select="2"/>
  1296.                 </xsl:otherwise>
  1297.             </xsl:choose>
  1298.         </xsl:variable>
  1299.         <xsl:variable name="current-range">
  1300.             <xsl:value-of select="substring($temp-range, 2)"/>
  1301.         </xsl:variable>
  1302.         <xsl:choose>
  1303.             <xsl:when test="$range-type = 1">
  1304.                 <xsl:call-template name="translate-expression">
  1305.                     <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/>
  1306.                     <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/>
  1307.                     <xsl:with-param name="expression">
  1308.                         <xsl:choose>
  1309.                             <xsl:when test="contains($current-range, '#$')">
  1310.                                 <xsl:variable name="temp-token">
  1311.                                     <xsl:choose>
  1312.                                         <xsl:when test="contains($current-range, '\')">
  1313.                                             <xsl:value-of select="concat(']', substring-after($current-range, '#$'), "'")"/>
  1314.                                         </xsl:when>
  1315.                                         <xsl:otherwise>
  1316.                                             <xsl:value-of select="substring-after($current-range, '#$')"/>
  1317.                                         </xsl:otherwise>
  1318.                                     </xsl:choose>
  1319.                                 </xsl:variable>
  1320.                                 <xsl:value-of select="substring-after($expression, $temp-token)"/>
  1321.                             </xsl:when>
  1322.                             <xsl:otherwise>
  1323.                                 <xsl:value-of select="substring-after($expression, $current-range)"/>
  1324.                             </xsl:otherwise>
  1325.                         </xsl:choose>
  1326.                     </xsl:with-param>
  1327.                     <xsl:with-param name="return-value">
  1328.                         <xsl:choose>
  1329.                             <xsl:when test="$current-range = '='">
  1330.                                 <xsl:text>oooc:=</xsl:text>
  1331.                             </xsl:when>
  1332.                             <xsl:when test="substring($current-range, string-length($current-range)) = '('">
  1333.                                 <xsl:value-of select="concat($return-value, substring-before($expression, $current-range), $current-range, '[.')"/>
  1334.                             </xsl:when>
  1335.                             <xsl:when test="$current-range = ','">
  1336.                                 <xsl:value-of select="concat($return-value, substring-before($expression, $current-range), '];[.')"/>
  1337.                             </xsl:when>
  1338.                             <xsl:when test="$current-range = ')'">
  1339.                                 <xsl:value-of select="concat($return-value, substring-before($expression, $current-range), '])')"/>
  1340.                             </xsl:when>
  1341.                             <xsl:otherwise>
  1342.                                 <xsl:value-of select="concat($return-value, substring-before($expression, $current-range), $current-range)"/>
  1343.                             </xsl:otherwise>
  1344.                         </xsl:choose>
  1345.                     </xsl:with-param>
  1346.                 </xsl:call-template>
  1347.             </xsl:when>
  1348.             <xsl:otherwise>
  1349.                 <xsl:variable name="handle-type">
  1350.                     <xsl:choose>
  1351.                         <xsl:when test="starts-with($current-range, 'R')">
  1352.                             <xsl:choose>
  1353.                                 <xsl:when test="contains($current-range, 'C')">
  1354.                                     <xsl:variable name="part-type-r">
  1355.                                         <xsl:call-template name="handle-type-number">
  1356.                                             <xsl:with-param name="t-part" select="substring-before( substring-after($current-range, 'R'), 'C')"/>
  1357.                                         </xsl:call-template>
  1358.                                     </xsl:variable>
  1359.                                     <xsl:variable name="part-type-c">
  1360.                                         <xsl:call-template name="handle-type-number">
  1361.                                             <xsl:with-param name="t-part" select="substring-after($current-range, 'C')"/>
  1362.                                         </xsl:call-template>
  1363.                                     </xsl:variable>
  1364.                                     <xsl:choose>
  1365.                                         <xsl:when test="($part-type-r = 1) and ($part-type-c = 1)">
  1366.                                             <xsl:value-of select="1"/>
  1367.                                         </xsl:when>
  1368.                                         <xsl:otherwise>
  1369.                                             <xsl:value-of select="4"/>
  1370.                                         </xsl:otherwise>
  1371.                                     </xsl:choose>
  1372.                                 </xsl:when>
  1373.                                 <xsl:otherwise>
  1374.                                     <xsl:variable name="part-type">
  1375.                                         <xsl:call-template name="handle-type-number">
  1376.                                             <xsl:with-param name="t-part" select="substring-after($current-range, 'R')"/>
  1377.                                         </xsl:call-template>
  1378.                                     </xsl:variable>
  1379.                                     <xsl:choose>
  1380.                                         <xsl:when test="$part-type = 1">
  1381.                                             <xsl:value-of select="2"/>
  1382.                                         </xsl:when>
  1383.                                         <xsl:when test="$part-type = 2">
  1384.                                             <xsl:value-of select="4"/>
  1385.                                         </xsl:when>
  1386.                                         <xsl:otherwise>
  1387.                                             <xsl:value-of select="4"/>
  1388.                                         </xsl:otherwise>
  1389.                                     </xsl:choose>
  1390.                                 </xsl:otherwise>
  1391.                             </xsl:choose>
  1392.                         </xsl:when>
  1393.                         <xsl:when test="starts-with($current-range, 'C')">
  1394.                             <xsl:variable name="part-type">
  1395.                                 <xsl:call-template name="handle-type-number">
  1396.                                     <xsl:with-param name="t-part" select="substring-after($current-range, 'C')"/>
  1397.                                 </xsl:call-template>
  1398.                             </xsl:variable>
  1399.                             <xsl:choose>
  1400.                                 <xsl:when test="$part-type = 1">
  1401.                                     <xsl:value-of select="3"/>
  1402.                                 </xsl:when>
  1403.                                 <xsl:when test="$part-type = 2">
  1404.                                     <xsl:value-of select="4"/>
  1405.                                 </xsl:when>
  1406.                                 <xsl:otherwise>
  1407.                                     <xsl:value-of select="4"/>
  1408.                                 </xsl:otherwise>
  1409.                             </xsl:choose>
  1410.                         </xsl:when>
  1411.                         <xsl:otherwise>
  1412.                             <xsl:value-of select="4"/>
  1413.                         </xsl:otherwise>
  1414.                     </xsl:choose>
  1415.                 </xsl:variable>
  1416.                 <xsl:choose>
  1417.                     <xsl:when test="$handle-type = 1">
  1418.                         <xsl:variable name="after-R">
  1419.                             <xsl:value-of select="substring(substring-after($current-range,'R'),1,1)"/>
  1420.                         </xsl:variable>
  1421.                         <xsl:choose>
  1422.                             <xsl:when test="$after-R='C' or $after-R='[' or $after-R='0' or $after-R='1' or $after-R='2' or $after-R='3' or $after-R='4' or $after-R='5' or $after-R='6' or $after-R='7' or $after-R='8' or $after-R='9'">
  1423.                                 <xsl:variable name="row-pos">
  1424.                                     <xsl:choose>
  1425.                                         <xsl:when test="$after-R='['">
  1426.                                             <xsl:value-of select="$cell-row-pos+substring-before( substring-after($current-range,'R['),']')"/>
  1427.                                         </xsl:when>
  1428.                                         <xsl:when test="$after-R='C'">
  1429.                                             <xsl:value-of select="$cell-row-pos"/>
  1430.                                         </xsl:when>
  1431.                                         <xsl:otherwise>
  1432.                                             <xsl:value-of select="substring-before(substring-after($current-range,'R'),'C')"/>
  1433.                                         </xsl:otherwise>
  1434.                                     </xsl:choose>
  1435.                                 </xsl:variable>
  1436.                                 <xsl:variable name="row-pos-style">
  1437.                                     <xsl:choose>
  1438.                                         <xsl:when test="$after-R='[' or $after-R='C'">relative</xsl:when>
  1439.                                         <xsl:otherwise>absolute</xsl:otherwise>
  1440.                                     </xsl:choose>
  1441.                                 </xsl:variable>
  1442.                                 <xsl:variable name="after-C">
  1443.                                     <xsl:value-of select="substring(substring-after(substring-after($current-range,'R'),'C'),1,1)"/>
  1444.                                 </xsl:variable>
  1445.                                 <xsl:variable name="column-digit-length">
  1446.                                     <xsl:choose>
  1447.                                         <xsl:when test="$after-C='0' or $after-C='1' or $after-C='2' or $after-C='3' or $after-C='4' or $after-C='5' or $after-C='6' or $after-C='7' or $after-C='8' or $after-C='9'">
  1448.                                             <xsl:call-template name="get-digit-length">
  1449.                                                 <xsl:with-param name="complexive-string" select="substring-after(substring-after($current-range,'R'),'C')"/>
  1450.                                             </xsl:call-template>
  1451.                                         </xsl:when>
  1452.                                     </xsl:choose>
  1453.                                 </xsl:variable>
  1454.                                 <xsl:variable name="column-pos">
  1455.                                     <xsl:choose>
  1456.                                         <xsl:when test="$after-C='['">
  1457.                                             <xsl:value-of select="$cell-column-pos + substring-before(substring-after(substring-after($current-range,'R'),'C['),']')"/>
  1458.                                         </xsl:when>
  1459.                                         <xsl:when test="$after-C='0' or $after-C='1' or $after-C='2' or $after-C='3' or $after-C='4' or $after-C='5' or $after-C='6' or $after-C='7' or $after-C='8' or $after-C='9'">
  1460.                                             <xsl:value-of select="substring(substring-after(substring-after($current-range,'R'),'C'),1,$column-digit-length)"/>
  1461.                                         </xsl:when>
  1462.                                         <xsl:otherwise>
  1463.                                             <xsl:value-of select="$cell-column-pos"/>
  1464.                                         </xsl:otherwise>
  1465.                                     </xsl:choose>
  1466.                                 </xsl:variable>
  1467.                                 <xsl:variable name="column-pos-style">
  1468.                                     <xsl:choose>
  1469.                                         <xsl:when test="$after-C='0' or $after-C='1' or $after-C='2' or $after-C='3' or $after-C='4' or $after-C='5' or $after-C='6' or $after-C='7' or $after-C='8' or $after-C='9'">absolute</xsl:when>
  1470.                                         <xsl:otherwise>relative</xsl:otherwise>
  1471.                                     </xsl:choose>
  1472.                                 </xsl:variable>
  1473.                                 <xsl:variable name="trans-unit">
  1474.                                     <xsl:call-template name="translate-unit">
  1475.                                         <xsl:with-param name="column-number" select="$column-pos"/>
  1476.                                         <xsl:with-param name="row-number" select="$row-pos"/>
  1477.                                         <xsl:with-param name="column-pos-style" select="$column-pos-style"/>
  1478.                                         <xsl:with-param name="row-pos-style" select="$row-pos-style"/>
  1479.                                     </xsl:call-template>
  1480.                                 </xsl:variable>
  1481.                                 <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), $trans-unit)"/>
  1482.                                 <xsl:call-template name="translate-expression">
  1483.                                     <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/>
  1484.                                     <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/>
  1485.                                     <xsl:with-param name="expression" select="substring-after($expression, $current-range)"/>
  1486.                                     <xsl:with-param name="return-value" select="concat($return-value, $name-unit)"/>
  1487.                                 </xsl:call-template>
  1488.                             </xsl:when>
  1489.                             <xsl:otherwise>
  1490.                                 <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), translate( substring-before(substring-after($expression, '('),'R'),',!', ';.'))"/>
  1491.                                 <xsl:call-template name="translate-expression">
  1492.                                     <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/>
  1493.                                     <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/>
  1494.                                     <xsl:with-param name="expression" select="substring-after($current-range,'R')"/>
  1495.                                     <xsl:with-param name="return-value" select="concat($return-value, $name-unit)"/>
  1496.                                 </xsl:call-template>
  1497.                             </xsl:otherwise>
  1498.                         </xsl:choose>
  1499.                     </xsl:when>
  1500.                     <xsl:when test="$handle-type = 2">
  1501.                         <xsl:variable name="after-R">
  1502.                             <xsl:value-of select="substring(substring-after($current-range,'R'),1,1)"/>
  1503.                         </xsl:variable>
  1504.                         <xsl:choose>
  1505.                             <xsl:when test="$after-R='[' or $after-R='0' or $after-R='1' or $after-R='2' or $after-R='3' or $after-R='4' or $after-R='5' or $after-R='6' or $after-R='7' or $after-R='8' or $after-R='9'">
  1506.                                 <xsl:variable name="row-number">
  1507.                                     <xsl:choose>
  1508.                                         <xsl:when test="$after-R = '['">
  1509.                                             <xsl:value-of select="substring-before(substring-after($current-range, 'R['), ']')"/>
  1510.                                         </xsl:when>
  1511.                                         <xsl:otherwise>
  1512.                                             <xsl:value-of select="substring-after($current-range, 'R')"/>
  1513.                                         </xsl:otherwise>
  1514.                                     </xsl:choose>
  1515.                                 </xsl:variable>
  1516.                                 <xsl:variable name="row-pos">
  1517.                                     <xsl:choose>
  1518.                                         <xsl:when test="$after-R='['">
  1519.                                             <xsl:value-of select="$cell-row-pos + $row-number"/>
  1520.                                         </xsl:when>
  1521.                                         <xsl:when test="$after-R='0' or $after-R='1' or $after-R='2' or $after-R='3' or $after-R='4' or $after-R='5' or $after-R='6' or $after-R='7' or $after-R='8' or $after-R='9'">
  1522.                                             <xsl:value-of select="$row-number"/>
  1523.                                         </xsl:when>
  1524.                                         <xsl:otherwise>
  1525.                                             <xsl:value-of select="$cell-row-pos"/>
  1526.                                         </xsl:otherwise>
  1527.                                     </xsl:choose>
  1528.                                 </xsl:variable>
  1529.                                 <xsl:variable name="trans-unit1">
  1530.                                     <xsl:call-template name="translate-unit">
  1531.                                         <xsl:with-param name="column-number" select="1"/>
  1532.                                         <xsl:with-param name="row-number" select="$row-pos"/>
  1533.                                         <xsl:with-param name="column-pos-style" select="'relative'"/>
  1534.                                         <xsl:with-param name="row-pos-style" select="'relative'"/>
  1535.                                     </xsl:call-template>
  1536.                                 </xsl:variable>
  1537.                                 <xsl:variable name="trans-unit2">
  1538.                                     <xsl:call-template name="translate-unit">
  1539.                                         <xsl:with-param name="column-number" select="256"/>
  1540.                                         <xsl:with-param name="row-number" select="$row-pos"/>
  1541.                                         <xsl:with-param name="column-pos-style" select="'relative'"/>
  1542.                                         <xsl:with-param name="row-pos-style" select="'relative'"/>
  1543.                                     </xsl:call-template>
  1544.                                 </xsl:variable>
  1545.                                 <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), $trans-unit1, ':', $trans-unit2)"/>
  1546.                                 <xsl:call-template name="translate-expression">
  1547.                                     <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/>
  1548.                                     <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/>
  1549.                                     <xsl:with-param name="expression" select="substring-after($expression, $current-range)"/>
  1550.                                     <xsl:with-param name="return-value" select="concat($return-value, $name-unit)"/>
  1551.                                 </xsl:call-template>
  1552.                             </xsl:when>
  1553.                             <xsl:otherwise>
  1554.                                 <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), translate( substring-before($current-range,'R'),',!', ';.'),'R')"/>
  1555.                                 <xsl:call-template name="translate-expression">
  1556.                                     <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/>
  1557.                                     <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/>
  1558.                                     <xsl:with-param name="expression" select="substring-after($current-range,'R')"/>
  1559.                                     <xsl:with-param name="return-value" select="concat($return-value, $name-unit)"/>
  1560.                                 </xsl:call-template>
  1561.                             </xsl:otherwise>
  1562.                         </xsl:choose>
  1563.                     </xsl:when>
  1564.                     <xsl:when test="$handle-type = 3">
  1565.                         <xsl:variable name="after-C">
  1566.                             <xsl:value-of select="substring(substring-after($current-range,'C'),1,1)"/>
  1567.                         </xsl:variable>
  1568.                         <xsl:choose>
  1569.                             <xsl:when test="$after-C='[' or $after-C='0' or $after-C='1' or $after-C='2' or $after-C='3' or $after-C='4' or $after-C='5' or $after-C='6' or $after-C='7' or $after-C='8' or $after-C='9'">
  1570.                                 <xsl:variable name="column-number">
  1571.                                     <xsl:choose>
  1572.                                         <xsl:when test="$after-C = '['">
  1573.                                             <xsl:value-of select="substring-before(substring-after($current-range, 'C['), ']')"/>
  1574.                                         </xsl:when>
  1575.                                         <xsl:otherwise>
  1576.                                             <xsl:value-of select="substring-after($current-range, 'C')"/>
  1577.                                         </xsl:otherwise>
  1578.                                     </xsl:choose>
  1579.                                 </xsl:variable>
  1580.                                 <xsl:variable name="column-pos">
  1581.                                     <xsl:choose>
  1582.                                         <xsl:when test="$after-C='['">
  1583.                                             <xsl:value-of select="$cell-column-pos + $column-number"/>
  1584.                                         </xsl:when>
  1585.                                         <xsl:when test="$after-C='0' or $after-C='1' or $after-C='2' or $after-C='3' or $after-C='4' or $after-C='5' or $after-C='6' or $after-C='7' or $after-C='8' or $after-C='9'">
  1586.                                             <xsl:value-of select="$column-number"/>
  1587.                                         </xsl:when>
  1588.                                         <xsl:otherwise>
  1589.                                             <xsl:value-of select="$cell-column-pos"/>
  1590.                                         </xsl:otherwise>
  1591.                                     </xsl:choose>
  1592.                                 </xsl:variable>
  1593.                                 <xsl:variable name="trans-unit1">
  1594.                                     <xsl:call-template name="translate-unit">
  1595.                                         <xsl:with-param name="column-number" select="$column-pos"/>
  1596.                                         <xsl:with-param name="row-number" select="1"/>
  1597.                                         <xsl:with-param name="column-pos-style" select="'relative'"/>
  1598.                                         <xsl:with-param name="row-pos-style" select="'relative'"/>
  1599.                                     </xsl:call-template>
  1600.                                 </xsl:variable>
  1601.                                 <xsl:variable name="trans-unit2">
  1602.                                     <xsl:call-template name="translate-unit">
  1603.                                         <xsl:with-param name="column-number" select="$column-pos"/>
  1604.                                         <xsl:with-param name="row-number" select="32000"/>
  1605.                                         <xsl:with-param name="column-pos-style" select="'relative'"/>
  1606.                                         <xsl:with-param name="row-pos-style" select="'relative'"/>
  1607.                                     </xsl:call-template>
  1608.                                 </xsl:variable>
  1609.                                 <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), $trans-unit1, ':', $trans-unit2)"/>
  1610.                                 <xsl:call-template name="translate-expression">
  1611.                                     <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/>
  1612.                                     <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/>
  1613.                                     <xsl:with-param name="expression" select="substring-after($expression, $current-range)"/>
  1614.                                     <xsl:with-param name="return-value" select="concat($return-value, $name-unit)"/>
  1615.                                 </xsl:call-template>
  1616.                             </xsl:when>
  1617.                             <xsl:otherwise>
  1618.                                 <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), translate( substring-before($current-range,'C'),',!', ';.'),'C')"/>
  1619.                                 <xsl:call-template name="translate-expression">
  1620.                                     <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/>
  1621.                                     <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/>
  1622.                                     <xsl:with-param name="expression" select="substring-after($current-range,'C')"/>
  1623.                                     <xsl:with-param name="return-value" select="concat($return-value, $name-unit)"/>
  1624.                                 </xsl:call-template>
  1625.                             </xsl:otherwise>
  1626.                         </xsl:choose>
  1627.                     </xsl:when>
  1628.                     <xsl:otherwise>
  1629.                         <xsl:variable name="next-pit" select="substring-after($expression, $current-range)"/>
  1630.                         <xsl:choose>
  1631.                             <xsl:when test="contains($next-pit, '+') or contains($next-pit, '-') or contains($next-pit, '*') or contains($next-pit, '/') or contains($next-pit, ')') or contains($next-pit, '^') or contains($next-pit, ':') or contains($next-pit, '"') or contains($next-pit, ';') or contains($next-pit, ',') or contains($next-pit, '[')">
  1632.                                 <xsl:call-template name="translate-expression">
  1633.                                     <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/>
  1634.                                     <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/>
  1635.                                     <xsl:with-param name="expression" select="substring-after($expression, $current-range)"/>
  1636.                                     <xsl:with-param name="return-value" select="concat($return-value, substring-before($expression, $current-range), $current-range)"/>
  1637.                                 </xsl:call-template>
  1638.                             </xsl:when>
  1639.                             <xsl:otherwise>
  1640.                                 <xsl:value-of select="translate( concat($return-value, substring-before($expression, $current-range), $current-range),',!', ';.')"/>
  1641.                             </xsl:otherwise>
  1642.                         </xsl:choose>
  1643.                     </xsl:otherwise>
  1644.                 </xsl:choose>
  1645.             </xsl:otherwise>
  1646.         </xsl:choose>
  1647.     </xsl:template>
  1648.     <xsl:template name="parse-range-name">
  1649.         <xsl:param name="expression"/>
  1650.         <xsl:param name="return-value"/>
  1651.         <xsl:variable name="first-one" select="substring($expression,1,1)"/>
  1652.         <xsl:choose>
  1653.             <xsl:when test="$first-one = '='">
  1654.                 <xsl:choose>
  1655.                     <xsl:when test="string-length(normalize-space($return-value)) > 0">
  1656.                         <xsl:value-of select="concat('2', $return-value)"/>
  1657.                     </xsl:when>
  1658.                     <xsl:otherwise>
  1659.                         <xsl:text>1=</xsl:text>
  1660.                     </xsl:otherwise>
  1661.                 </xsl:choose>
  1662.             </xsl:when>
  1663.             <xsl:when test="$first-one='(' or $first-one='!' or $first-one='&'">
  1664.                 <xsl:value-of select="concat('1', $return-value, $first-one)"/>
  1665.             </xsl:when>
  1666.             <xsl:when test="$first-one='['">
  1667.                 <xsl:choose>
  1668.                     <xsl:when test="starts-with(substring-after($expression, ']'), 'C')">
  1669.                         <xsl:call-template name="parse-range-name">
  1670.                             <xsl:with-param name="expression" select="substring-after($expression, ']')"/>
  1671.                             <xsl:with-param name="return-value" select="concat($return-value, substring-before($expression, ']'), ']')"/>
  1672.                         </xsl:call-template>
  1673.                     </xsl:when>
  1674.                     <xsl:when test="contains(substring-before($expression, ']'), '.') and contains(substring-after($expression, ']'), '!')">
  1675.                         <xsl:value-of select="concat('1', "'", substring-before(substring-after($expression, '['), ']'), "'", '#$', substring-before(substring-after($expression, ']'), '!'))"/>
  1676.                     </xsl:when>
  1677.                     <xsl:otherwise>
  1678.                         <xsl:value-of select="concat('2', $return-value, substring-before($expression, ']'), ']')"/>
  1679.                     </xsl:otherwise>
  1680.                 </xsl:choose>
  1681.             </xsl:when>
  1682.             <xsl:when test="$first-one='"'">
  1683.                 <xsl:value-of select="concat('1', $first-one, substring-before(substring-after($expression, '"'), '"'), '"')"/>
  1684.             </xsl:when>
  1685.             <xsl:when test="$first-one="'"">
  1686.                 <xsl:variable name="str-in" select="substring-before(substring-after($expression, "'"), "'")"/>
  1687.                 <xsl:choose>
  1688.                     <xsl:when test="contains($str-in, '\') and contains($str-in, '[') and contains($str-in, ']')">
  1689.                         <xsl:variable name="first-pos" select="substring-before($str-in, '[')"/>
  1690.                         <xsl:variable name="second-pos" select="substring-before(substring-after($str-in, '['), ']')"/>
  1691.                         <xsl:variable name="third-pos" select="substring-after($str-in, ']')"/>
  1692.                         <xsl:value-of select="concat('1', "'", $first-pos, $second-pos, "'", '#$', $third-pos)"/>
  1693.                     </xsl:when>
  1694.                     <xsl:otherwise>
  1695.                         <xsl:value-of select="concat('1', "'", $str-in, "'")"/>
  1696.                     </xsl:otherwise>
  1697.                 </xsl:choose>
  1698.             </xsl:when>
  1699.             <xsl:when test="$first-one='+' or $first-one='-' or $first-one='*' or $first-one='/' or $first-one=')' or $first-one='^' or $first-one=':' or $first-one='"' or $first-one=';' or $first-one=',' or $first-one='>' or $first-one='<'">
  1700.                 <xsl:choose>
  1701.                     <xsl:when test="$return-value = ''">
  1702.                         <xsl:value-of select="concat('1', $first-one)"/>
  1703.                     </xsl:when>
  1704.                     <xsl:otherwise>
  1705.                         <xsl:value-of select="concat('2', $return-value)"/>
  1706.                     </xsl:otherwise>
  1707.                 </xsl:choose>
  1708.             </xsl:when>
  1709.             <xsl:otherwise>
  1710.                 <xsl:choose>
  1711.                     <xsl:when test="$expression = ''">
  1712.                         <xsl:value-of select="concat('2', $return-value)"/>
  1713.                     </xsl:when>
  1714.                     <xsl:otherwise>
  1715.                         <xsl:call-template name="parse-range-name">
  1716.                             <xsl:with-param name="expression" select="substring($expression, 2, string-length($expression)-1)"/>
  1717.                             <xsl:with-param name="return-value" select="concat($return-value, substring($expression, 1, 1))"/>
  1718.                         </xsl:call-template>
  1719.                     </xsl:otherwise>
  1720.                 </xsl:choose>
  1721.             </xsl:otherwise>
  1722.         </xsl:choose>
  1723.     </xsl:template>
  1724.     <xsl:template name="handle-type-number">
  1725.         <xsl:param name="t-part"/>
  1726.         <xsl:choose>
  1727.             <xsl:when test="starts-with($t-part, '[')">
  1728.                 <xsl:variable name="tt-str" select="substring-before( substring-after( $t-part, '['), ']')"/>
  1729.                 <xsl:choose>
  1730.                     <xsl:when test="($tt-str < 0) or ($tt-str > 0) or ($tt-str = 0)">
  1731.                         <xsl:value-of select="1"/>
  1732.                     </xsl:when>
  1733.                     <xsl:otherwise>
  1734.                         <xsl:value-of select="2"/>
  1735.                     </xsl:otherwise>
  1736.                 </xsl:choose>
  1737.             </xsl:when>
  1738.             <xsl:when test="($t-part < 0) or ($t-part > 0) or ($t-part = 0)">
  1739.                 <xsl:value-of select="1"/>
  1740.             </xsl:when>
  1741.             <xsl:when test="$t-part = ''">
  1742.                 <xsl:value-of select="1"/>
  1743.             </xsl:when>
  1744.             <xsl:otherwise>
  1745.                 <xsl:value-of select="2"/>
  1746.             </xsl:otherwise>
  1747.         </xsl:choose>
  1748.     </xsl:template>
  1749.     <xsl:template name="translate-unit">
  1750.         <xsl:param name="column-number"/>
  1751.         <xsl:param name="row-number"/>
  1752.         <xsl:param name="column-pos-style"/>
  1753.         <xsl:param name="row-pos-style"/>
  1754.         <xsl:variable name="column-number1">
  1755.             <xsl:value-of select="floor( $column-number div 26 )"/>
  1756.         </xsl:variable>
  1757.         <xsl:variable name="column-number2">
  1758.             <xsl:value-of select="$column-number mod 26"/>
  1759.         </xsl:variable>
  1760.         <xsl:variable name="column-character1">
  1761.             <xsl:call-template name="number-to-character">
  1762.                 <xsl:with-param name="number" select="$column-number1"/>
  1763.             </xsl:call-template>
  1764.         </xsl:variable>
  1765.         <xsl:variable name="column-character2">
  1766.             <xsl:call-template name="number-to-character">
  1767.                 <xsl:with-param name="number" select="$column-number2"/>
  1768.             </xsl:call-template>
  1769.         </xsl:variable>
  1770.         <xsl:choose>
  1771.             <xsl:when test="$column-pos-style = 'absolute'">
  1772.                 <xsl:value-of select="concat( '$', $column-character1, $column-character2)"/>
  1773.             </xsl:when>
  1774.             <xsl:otherwise>
  1775.                 <xsl:value-of select="concat( $column-character1, $column-character2)"/>
  1776.             </xsl:otherwise>
  1777.         </xsl:choose>
  1778.         <xsl:choose>
  1779.             <xsl:when test="$row-pos-style ='absolute'">
  1780.                 <xsl:value-of select="concat( '$', $row-number)"/>
  1781.             </xsl:when>
  1782.             <xsl:otherwise>
  1783.                 <xsl:value-of select="$row-number"/>
  1784.             </xsl:otherwise>
  1785.         </xsl:choose>
  1786.     </xsl:template>
  1787.     <xsl:template name="number-to-character">
  1788.         <xsl:param name="number"/>
  1789.         <xsl:choose>
  1790.             <xsl:when test="$number =  0"/>
  1791.             <xsl:when test="$number =  1">A</xsl:when>
  1792.             <xsl:when test="$number =  2">B</xsl:when>
  1793.             <xsl:when test="$number =  3">C</xsl:when>
  1794.             <xsl:when test="$number =  4">D</xsl:when>
  1795.             <xsl:when test="$number =  5">E</xsl:when>
  1796.             <xsl:when test="$number =  6">F</xsl:when>
  1797.             <xsl:when test="$number =  7">G</xsl:when>
  1798.             <xsl:when test="$number =  8">H</xsl:when>
  1799.             <xsl:when test="$number =  9">I</xsl:when>
  1800.             <xsl:when test="$number = 10">J</xsl:when>
  1801.             <xsl:when test="$number = 11">K</xsl:when>
  1802.             <xsl:when test="$number = 12">L</xsl:when>
  1803.             <xsl:when test="$number = 13">M</xsl:when>
  1804.             <xsl:when test="$number = 14">N</xsl:when>
  1805.             <xsl:when test="$number = 15">O</xsl:when>
  1806.             <xsl:when test="$number = 16">P</xsl:when>
  1807.             <xsl:when test="$number = 17">Q</xsl:when>
  1808.             <xsl:when test="$number = 18">R</xsl:when>
  1809.             <xsl:when test="$number = 19">S</xsl:when>
  1810.             <xsl:when test="$number = 20">T</xsl:when>
  1811.             <xsl:when test="$number = 21">U</xsl:when>
  1812.             <xsl:when test="$number = 22">V</xsl:when>
  1813.             <xsl:when test="$number = 23">W</xsl:when>
  1814.             <xsl:when test="$number = 24">X</xsl:when>
  1815.             <xsl:when test="$number = 25">Y</xsl:when>
  1816.             <xsl:when test="$number = 26">Z</xsl:when>
  1817.             <xsl:otherwise/>
  1818.         </xsl:choose>
  1819.     </xsl:template>
  1820.     <xsl:template name="get-digit-length">
  1821.         <xsl:param name="complexive-string"/>
  1822.         <xsl:variable name="first-char">
  1823.             <xsl:value-of select="substring( $complexive-string, 1, 1)"/>
  1824.         </xsl:variable>
  1825.         <xsl:choose>
  1826.             <xsl:when test="$first-char = '1' or $first-char =  '2' or $first-char =  '3' or $first-char =  '4' or $first-char =  '5' or $first-char =  '6' or $first-char = '7' or $first-char =  '8' or $first-char =  '9' or $first-char = '0' ">
  1827.                 <xsl:variable name="temp">
  1828.                     <xsl:call-template name="get-digit-length">
  1829.                         <xsl:with-param name="complexive-string" select="substring( $complexive-string, 2)"/>
  1830.                     </xsl:call-template>
  1831.                 </xsl:variable>
  1832.                 <xsl:value-of select="$temp+1"/>
  1833.             </xsl:when>
  1834.             <xsl:otherwise>0</xsl:otherwise>
  1835.         </xsl:choose>
  1836.     </xsl:template>
  1837.     <xsl:template match="σ¡ù:σÅÑσ▒₧µÇº" mode="style">
  1838.         <!--chengxz 0725-->
  1839.         <xsl:if test="not(@σ¡ù:σ╝ŵá╖σ╝òτö¿)">
  1840.             <xsl:element name="style:style">
  1841.                 <xsl:attribute name="style:name">T<xsl:number from="/uof:UOF/uof:µûçσ¡ùσñäτÉå/σ¡ù:Σ╕╗Σ╜ô" level="any" count="σ¡ù:σÅÑσ▒₧µÇº" format="1"/></xsl:attribute>
  1842.                 <xsl:attribute name="style:family">text</xsl:attribute>
  1843.                 <xsl:if test="@σ¡ù:σ╝ŵá╖σ╝òτö¿">
  1844.                     <xsl:attribute name="style:parent-style-name"><xsl:value-of select="@σ¡ù:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  1845.                 </xsl:if>
  1846.                 <xsl:element name="style:text-properties">
  1847.                     <xsl:apply-templates select="./*"/>
  1848.                 </xsl:element>
  1849.             </xsl:element>
  1850.         </xsl:if>
  1851.     </xsl:template>
  1852.     <xsl:template name="style-style-content">
  1853.         <xsl:variable name="style-name" select="@Φí¿:µáçΦ»åτ¼ª"/>
  1854.         <xsl:variable name="apply-style-name" select="@Φí¿:σÉìτº░"/>
  1855.         <xsl:attribute name="style:family"><xsl:choose><xsl:when test="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù[@Φí¿:σ╝ŵá╖σ╝òτö¿=$style-name]">table-column</xsl:when><xsl:otherwise>table-cell</xsl:otherwise></xsl:choose></xsl:attribute>
  1856.         <xsl:if test="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù[@Φí¿:σ╝ŵá╖σ╝òτö¿=$style-name]/@Φí¿:σêùσ«╜">
  1857.             <xsl:element name="style:table-column-properties">
  1858.                 <xsl:attribute name="style:column-width"><xsl:value-of select="concat(/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù[@Φí¿:σ╝ŵá╖σ╝òτö¿=$style-name]/@Φí¿:σêùσ«╜,$uofUnit)"/></xsl:attribute>
  1859.                 <xsl:if test="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù[@Φí¿:σ╝ŵá╖σ╝òτö¿=$style-name]/@Φí¿:Φ╖¿σ║ª">
  1860.                     <xsl:attribute name="fo:break-before">auto</xsl:attribute>
  1861.                 </xsl:if>
  1862.                 <xsl:for-each select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù[@Φí¿:σ╝ŵá╖σ╝òτö¿=$style-name]">
  1863.                     <xsl:if test="preceding-sibling::Φí¿:σêù[1]/@Φí¿:Φ╖¿σ║ª and ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª/@Φí¿:σêùσÅ╖">
  1864.                         <xsl:variable name="kuadu">
  1865.                             <xsl:value-of select="preceding-sibling::Φí¿:σêù[1]/@Φí¿:Φ╖¿σ║ª"/>
  1866.                         </xsl:variable>
  1867.                         <xsl:if test="not($kuadu='1')">
  1868.                             <xsl:attribute name="fo:break-before">page</xsl:attribute>
  1869.                         </xsl:if>
  1870.                         <xsl:if test="$kuadu='1' and not(preceding::Φí¿:σêù[2])">
  1871.                             <xsl:attribute name="fo:break-before">page</xsl:attribute>
  1872.                         </xsl:if>
  1873.                     </xsl:if>
  1874.                 </xsl:for-each>
  1875.             </xsl:element>
  1876.         </xsl:if>
  1877.         <xsl:element name="style:table-cell-properties">
  1878.             <xsl:if test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å">
  1879.                 <xsl:if test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:σ₧éτ¢┤σ»╣Θ╜ɵû╣σ╝Å">
  1880.                     <xsl:variable name="vertical-align">
  1881.                         <xsl:choose>
  1882.                             <xsl:when test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:σ₧éτ¢┤σ»╣Θ╜ɵû╣σ╝Å = 'top'">top</xsl:when>
  1883.                             <xsl:when test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:σ₧éτ¢┤σ»╣Θ╜ɵû╣σ╝Å = 'center'">center</xsl:when>
  1884.                             <xsl:when test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:σ₧éτ¢┤σ»╣Θ╜ɵû╣σ╝Å = 'bottom'">bottom</xsl:when>
  1885.                             <xsl:otherwise>middle</xsl:otherwise>
  1886.                         </xsl:choose>
  1887.                     </xsl:variable>
  1888.                     <xsl:attribute name="style:vertical-align"><xsl:value-of select="$vertical-align"/></xsl:attribute>
  1889.                 </xsl:if>
  1890.                 <xsl:if test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:Φç¬σ迵ìóΦíî/@Φí¿:σÇ╝ = 'true'">
  1891.                     <xsl:attribute name="fo:wrap-option">wrap</xsl:attribute>
  1892.                 </xsl:if>
  1893.                 <xsl:if test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:τ╝⌐Φ┐¢">
  1894.                     <xsl:attribute name="fo:padding-left"><xsl:variable name="indent" select="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:τ╝⌐Φ┐¢ * 10"/><xsl:call-template name="convert2cm"><xsl:with-param name="value" select="concat($indent,'pt')"/></xsl:call-template><xsl:text>cm</xsl:text></xsl:attribute>
  1895.                 </xsl:if>
  1896.                 <xsl:if test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µûçσ¡ùµùïΦ╜¼ΦºÆσ║ª">
  1897.                     <xsl:attribute name="style:rotation-angle"><xsl:choose><xsl:when test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µûçσ¡ùµùïΦ╜¼ΦºÆσ║ª < 0"><xsl:value-of select="360 - Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µûçσ¡ùµùïΦ╜¼ΦºÆσ║ª"/></xsl:when><xsl:otherwise><xsl:value-of select="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µûçσ¡ùµùïΦ╜¼ΦºÆσ║ª"/></xsl:otherwise></xsl:choose></xsl:attribute>
  1898.                     <xsl:attribute name="style:rotation-align">none</xsl:attribute>
  1899.                 </xsl:if>
  1900.                 <xsl:if test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µûçσ¡ùµû╣σÉæ = 'vertical'">
  1901.                     <xsl:attribute name="style:direction">ttb</xsl:attribute>
  1902.                     <xsl:if test="not(Φí¿:σ»╣Θ╜ɵá╝σ╝Å/σ¡ù:µ░┤σ╣│σ»╣Θ╜ɵû╣σ╝Å)">
  1903.                         <xsl:attribute name="style:text-align-source">fix</xsl:attribute>
  1904.                     </xsl:if>
  1905.                 </xsl:if>
  1906.             </xsl:if>
  1907.             <!--xsl:if test="Φí¿:Φ╛╣µíå">
  1908.                 <xsl:apply-templates select="Φí¿:Φ╛╣µíå" />
  1909.             </xsl:if-->
  1910.             <!--chenjh add Φ╛╣µíå again-->
  1911.             <xsl:if test="Φí¿:Φ╛╣µíå/uof:Σ╕è/@uof:σ«╜σ║ª !=''">
  1912.                 <xsl:variable name="top-line-width" select="concat(Φí¿:Φ╛╣µíå/uof:Σ╕è/@uof:σ«╜σ║ª,$uofUnit)"/>
  1913.                 <xsl:variable name="top-line-tyle">
  1914.                     <xsl:choose>
  1915.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:Σ╕è/@uof:τ▒╗σ₧ï='single'">solid</xsl:when>
  1916.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:Σ╕è/@uof:τ▒╗σ₧ï='double'">double</xsl:when>
  1917.                     </xsl:choose>
  1918.                 </xsl:variable>
  1919.                 <xsl:variable name="top-line-color" select="Φí¿:Φ╛╣µíå/uof:Σ╕è/@uof:Θó£Φë▓"/>
  1920.                 <xsl:variable name="border-top" select="concat($top-line-width,' ',$top-line-tyle,' ',$top-line-color)"/>
  1921.                 <xsl:attribute name="fo:border-top"><xsl:value-of select="$border-top"/></xsl:attribute>
  1922.             </xsl:if>
  1923.             <xsl:if test="Φí¿:Φ╛╣µíå/uof:Σ╕ï/@uof:σ«╜σ║ª !=''">
  1924.                 <xsl:variable name="bottom-line-width" select="concat(Φí¿:Φ╛╣µíå/uof:Σ╕ï/@uof:σ«╜σ║ª,$uofUnit)"/>
  1925.                 <xsl:variable name="bottom-line-tyle">
  1926.                     <xsl:choose>
  1927.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:Σ╕ï/@uof:τ▒╗σ₧ï='single'">solid</xsl:when>
  1928.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:Σ╕ï/@uof:τ▒╗σ₧ï='double'">double</xsl:when>
  1929.                     </xsl:choose>
  1930.                 </xsl:variable>
  1931.                 <xsl:variable name="bottom-line-color" select="Φí¿:Φ╛╣µíå/uof:Σ╕ï/@uof:Θó£Φë▓"/>
  1932.                 <xsl:variable name="border-bottom" select="concat($bottom-line-width,' ',$bottom-line-tyle,' ',$bottom-line-color)"/>
  1933.                 <xsl:attribute name="fo:border-bottom"><xsl:value-of select="$border-bottom"/></xsl:attribute>
  1934.             </xsl:if>
  1935.             <xsl:if test="Φí¿:Φ╛╣µíå/uof:σ╖ª/@uof:σ«╜σ║ª !=''">
  1936.                 <xsl:variable name="left-line-width" select="concat(Φí¿:Φ╛╣µíå/uof:σ╖ª/@uof:σ«╜σ║ª,$uofUnit)"/>
  1937.                 <xsl:variable name="left-line-tyle">
  1938.                     <xsl:choose>
  1939.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:σ╖ª/@uof:τ▒╗σ₧ï='single'">solid</xsl:when>
  1940.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:σ╖ª/@uof:τ▒╗σ₧ï='double'">double</xsl:when>
  1941.                     </xsl:choose>
  1942.                 </xsl:variable>
  1943.                 <xsl:variable name="left-line-color" select="Φí¿:Φ╛╣µíå/uof:σ╖ª/@uof:Θó£Φë▓"/>
  1944.                 <xsl:variable name="border-left" select="concat($left-line-width,' ',$left-line-tyle,' ',$left-line-color)"/>
  1945.                 <xsl:attribute name="fo:border-left"><xsl:value-of select="$border-left"/></xsl:attribute>
  1946.             </xsl:if>
  1947.             <xsl:if test="Φí¿:Φ╛╣µíå/uof:σÅ│/@uof:σ«╜σ║ª !=''">
  1948.                 <xsl:variable name="right-line-width" select="concat(Φí¿:Φ╛╣µíå/uof:σÅ│/@uof:σ«╜σ║ª,$uofUnit)"/>
  1949.                 <xsl:variable name="right-line-tyle">
  1950.                     <xsl:choose>
  1951.                         <xsl:when test="@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  1952.                         <xsl:when test="@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  1953.                         <xsl:when test="@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  1954.                         <xsl:otherwise>solid</xsl:otherwise>
  1955.                     </xsl:choose>
  1956.                 </xsl:variable>
  1957.                 <xsl:variable name="right-line-color" select="Φí¿:Φ╛╣µíå/uof:σÅ│/@uof:Θó£Φë▓"/>
  1958.                 <xsl:variable name="border-right" select="concat($right-line-width,' ',$right-line-tyle,' ',$right-line-color)"/>
  1959.                 <xsl:attribute name="fo:border-right"><xsl:value-of select="$border-right"/></xsl:attribute>
  1960.             </xsl:if>
  1961.             <xsl:if test="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:σ«╜σ║ª !=''">
  1962.                 <xsl:variable name="diagonal-lr-width" select="concat(Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:σ«╜σ║ª,$uofUnit)"/>
  1963.                 <xsl:variable name="diagonal-lr-tyle">
  1964.                     <xsl:choose>
  1965.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  1966.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  1967.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  1968.                         <xsl:otherwise>solid</xsl:otherwise>
  1969.                     </xsl:choose>
  1970.                 </xsl:variable>
  1971.                 <xsl:variable name="diagonal-lr-color" select="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:Θó£Φë▓"/>
  1972.                 <xsl:variable name="border-diagonal" select="concat($diagonal-lr-width,' ',$diagonal-lr-tyle,' ',$diagonal-lr-color)"/>
  1973.                 <xsl:attribute name="style:diagonal-bl-tr"><xsl:value-of select="$border-diagonal"/></xsl:attribute>
  1974.             </xsl:if>
  1975.             <xsl:if test="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐2/@uof:σ«╜σ║ª !=''">
  1976.                 <xsl:variable name="diagonal-rl-width" select="concat(Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐2/@uof:σ«╜σ║ª,$uofUnit)"/>
  1977.                 <xsl:variable name="diagonal-rl-tyle">
  1978.                     <xsl:choose>
  1979.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  1980.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  1981.                         <xsl:when test="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐1/@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  1982.                         <xsl:otherwise>solid</xsl:otherwise>
  1983.                     </xsl:choose>
  1984.                 </xsl:variable>
  1985.                 <xsl:variable name="diagonal-rl-color" select="Φí¿:Φ╛╣µíå/uof:σ»╣ΦºÆτ║┐2/@uof:Θó£Φë▓"/>
  1986.                 <xsl:variable name="border-diagonal" select="concat($diagonal-rl-width,' ',$diagonal-rl-tyle,' ',$diagonal-rl-color)"/>
  1987.                 <xsl:attribute name="style:diagonal-tl-br"><xsl:value-of select="$border-diagonal"/></xsl:attribute>
  1988.             </xsl:if>
  1989.             <xsl:if test="Φí¿:Φ╛╣µíå/*/@uof:Θÿ┤σ╜▒">
  1990.                 <xsl:choose>
  1991.                     <xsl:when test="Φí¿:Φ╛╣µíå/uof:Σ╕ï/@uof:Θÿ┤σ╜▒ and Φí¿:Φ╛╣µíå/uof:σÅ│/@uof:Θÿ┤σ╜▒">
  1992.                         <xsl:attribute name="style:shadow">#808080 0.18cm 0.18cm</xsl:attribute>
  1993.                     </xsl:when>
  1994.                     <xsl:when test="Φí¿:Φ╛╣µíå/uof:Σ╕ï/@uof:Θÿ┤σ╜▒ and Φí¿:Φ╛╣µíå/uof:σ╖ª/@uof:Θÿ┤σ╜▒">
  1995.                         <xsl:attribute name="style:shadow">#808080 -0.18cm 0.18cm</xsl:attribute>
  1996.                     </xsl:when>
  1997.                     <xsl:when test="Φí¿:Φ╛╣µíå/uof:Σ╕è/@uof:Θÿ┤σ╜▒ and Φí¿:Φ╛╣µíå/uof:σÅ│/@uof:Θÿ┤σ╜▒">
  1998.                         <xsl:attribute name="style:shadow">#808080 0.18cm -0.18cm</xsl:attribute>
  1999.                     </xsl:when>
  2000.                     <xsl:when test="Φí¿:Φ╛╣µíå/uof:Σ╕è/@uof:Θÿ┤σ╜▒ and Φí¿:Φ╛╣µíå/uof:σ╖ª/@uof:Θÿ┤σ╜▒">
  2001.                         <xsl:attribute name="style:shadow">#808080 -0.18cm -0.18cm</xsl:attribute>
  2002.                     </xsl:when>
  2003.                 </xsl:choose>
  2004.             </xsl:if>
  2005.             <!--Φ╛╣µíå end -->
  2006.             <xsl:if test="Φí¿:σí½σàà">
  2007.                 <xsl:choose>
  2008.                     <xsl:when test="Φí¿:σí½σàà/σ¢╛:Θó£Φë▓">
  2009.                         <xsl:attribute name="fo:background-color"><xsl:value-of select="Φí¿:σí½σàà/σ¢╛:Θó£Φë▓"/></xsl:attribute>
  2010.                     </xsl:when>
  2011.                     <xsl:otherwise>
  2012.                         <xsl:if test="Φí¿:σí½σàà/σ¢╛:σ¢╛µíê/@σ¢╛:σëìµÖ»Φë▓">
  2013.                             <xsl:variable name="pattern-value">
  2014.                                 <xsl:call-template name="cell-pattern-color">
  2015.                                     <xsl:with-param name="pattern" select="concat('0.',substring-after(Φí¿:σí½σàà/σ¢╛:σ¢╛µíê/σ¢╛:ΦâîµÖ»Φë▓,'y'))"/>
  2016.                                     <xsl:with-param name="color-value" select="Φí¿:σí½σàà/σ¢╛:Θó£Φë▓"/>
  2017.                                     <xsl:with-param name="pattern-color-value" select="Φí¿:σí½σàà/σ¢╛:σ¢╛µíê/σ¢╛:ΦâîµÖ»Φë▓"/>
  2018.                                 </xsl:call-template>
  2019.                             </xsl:variable>
  2020.                             <xsl:attribute name="fo:background-color"><xsl:value-of select="$pattern-value"/></xsl:attribute>
  2021.                         </xsl:if>
  2022.                     </xsl:otherwise>
  2023.                 </xsl:choose>
  2024.             </xsl:if>
  2025.             <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:ΘÜÉΦùŵûçσ¡ù">
  2026.                 <xsl:choose>
  2027.                     <xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:ΘÜÉΦùŵûçσ¡ù = 'true'">
  2028.                         <xsl:attribute name="style:cell-protect">protected formula-hidden</xsl:attribute>
  2029.                     </xsl:when>
  2030.                     <xsl:otherwise>
  2031.                         <xsl:attribute name="style:cell-protect">none</xsl:attribute>
  2032.                     </xsl:otherwise>
  2033.                 </xsl:choose>
  2034.             </xsl:if>
  2035.             <xsl:attribute name="style:cell-protect">none</xsl:attribute>
  2036.             <xsl:attribute name="style:text-align-source">fix</xsl:attribute>
  2037.         </xsl:element>
  2038.         <xsl:element name="style:paragraph-properties">
  2039.             <xsl:if test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µ░┤σ╣│σ»╣Θ╜ɵû╣σ╝Å">
  2040.                 <xsl:variable name="text-align">
  2041.                     <xsl:choose>
  2042.                         <xsl:when test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µ░┤σ╣│σ»╣Θ╜ɵû╣σ╝Å = 'left'">start</xsl:when>
  2043.                         <xsl:when test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µ░┤σ╣│σ»╣Θ╜ɵû╣σ╝Å = 'center'">center</xsl:when>
  2044.                         <xsl:when test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µ░┤σ╣│σ»╣Θ╜ɵû╣σ╝Å = 'right'">end</xsl:when>
  2045.                         <xsl:when test="Φí¿:σ»╣Θ╜ɵá╝σ╝Å/Φí¿:µ░┤σ╣│σ»╣Θ╜ɵû╣σ╝Å = 'justify'">justify</xsl:when>
  2046.                         <xsl:otherwise>start</xsl:otherwise>
  2047.                     </xsl:choose>
  2048.                 </xsl:variable>
  2049.                 <xsl:attribute name="fo:text-align"><xsl:value-of select="$text-align"/></xsl:attribute>
  2050.             </xsl:if>
  2051.         </xsl:element>
  2052.         <xsl:element name="style:text-properties">
  2053.             <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô">
  2054.                 <xsl:choose>
  2055.                     <xsl:when test="(Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:Σ╕¡µûçσ¡ùΣ╜ôσ╝òτö¿)or (Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:ΦÑ┐µûçσ¡ùΣ╜ôσ╝òτö¿)">
  2056.                         <xsl:variable name="fontnameZ" select="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:Σ╕¡µûçσ¡ùΣ╜ôσ╝òτö¿"/>
  2057.                         <xsl:variable name="fontnameX" select="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:ΦÑ┐µûçσ¡ùΣ╜ôσ╝òτö¿"/>
  2058.                         <xsl:for-each select="/uof:UOF/uof:σ╝ŵá╖Θ¢å/uof:σ¡ùΣ╜ôΘ¢å/uof:σ¡ùΣ╜ôσú░µÿÄ">
  2059.                             <xsl:if test="(./@uof:µáçΦ»åτ¼ª = $fontnameZ)or(./@uof:µáçΦ»åτ¼ª = $fontnameX)">
  2060.                                 <xsl:attribute name="style:font-name"><xsl:value-of select="./@uof:σÉìτº░"/></xsl:attribute>
  2061.                                 <xsl:attribute name="style:font-name-asian"><xsl:value-of select="./@uof:σÉìτº░"/></xsl:attribute>
  2062.                                 <xsl:attribute name="style:font-name-complex"><xsl:value-of select="./@uof:σÉìτº░"/></xsl:attribute>
  2063.                                 <xsl:attribute name="style:font-charset"><xsl:value-of select="./@uof:σ¡ùΣ╜ôµùÅ"/></xsl:attribute>
  2064.                             </xsl:if>
  2065.                         </xsl:for-each>
  2066.                     </xsl:when>
  2067.                     <xsl:otherwise>
  2068.                         <xsl:attribute name="style:font-name">Arial</xsl:attribute>
  2069.                     </xsl:otherwise>
  2070.                 </xsl:choose>
  2071.                 <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝">
  2072.                     <xsl:attribute name="fo:font-weight"><xsl:choose><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝=1 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝='true'">bold</xsl:when><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝=0 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝='false'">normal</xsl:when></xsl:choose></xsl:attribute>
  2073.                     <xsl:attribute name="style:font-weight-asian"><xsl:choose><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝=1 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝='true'">bold</xsl:when><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝=0 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝='false'">normal</xsl:when></xsl:choose></xsl:attribute>
  2074.                     <xsl:attribute name="style:font-weight-complex"><xsl:choose><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝=1 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝='true'">bold</xsl:when><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝=0 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ▓ùΣ╜ô/@σ¡ù:σÇ╝='false'">normal</xsl:when></xsl:choose></xsl:attribute>
  2075.                 </xsl:if>
  2076.                 <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝">
  2077.                     <xsl:attribute name="fo:font-style"><xsl:choose><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝=1 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝='true'">italic</xsl:when><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝=0 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝='false'">normal</xsl:when></xsl:choose></xsl:attribute>
  2078.                     <xsl:attribute name="style:font-style-asian"><xsl:choose><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝=1 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝='true'">italic</xsl:when><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝=0 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝='false'">normal</xsl:when></xsl:choose></xsl:attribute>
  2079.                     <xsl:attribute name="style:font-style-complex"><xsl:choose><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝=1 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝='true'">italic</xsl:when><xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝=0 or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µû£Σ╜ô/@σ¡ù:σÇ╝='false'">normal</xsl:when></xsl:choose></xsl:attribute>
  2080.                 </xsl:if>
  2081.                 <xsl:choose>
  2082.                     <xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:Θó£Φë▓">
  2083.                         <xsl:attribute name="fo:color"><xsl:value-of select="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:Θó£Φë▓"/></xsl:attribute>
  2084.                     </xsl:when>
  2085.                     <xsl:otherwise>
  2086.                         <xsl:attribute name="style:use-window-font-color">true</xsl:attribute>
  2087.                     </xsl:otherwise>
  2088.                 </xsl:choose>
  2089.                 <xsl:choose>
  2090.                     <xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:σ¡ùσÅ╖">
  2091.                         <xsl:attribute name="fo:font-size"><xsl:value-of select="concat( Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:σ¡ùσÅ╖, 'pt')"/></xsl:attribute>
  2092.                         <xsl:attribute name="style:font-size-asian"><xsl:value-of select="concat( Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:σ¡ùσÅ╖, 'pt')"/></xsl:attribute>
  2093.                         <xsl:attribute name="style:font-size-complex"><xsl:value-of select="concat( Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σ¡ùΣ╜ô/@σ¡ù:σ¡ùσÅ╖, 'pt')"/></xsl:attribute>
  2094.                     </xsl:when>
  2095.                     <xsl:otherwise>
  2096.                         <xsl:attribute name="fo:font-size">12pt</xsl:attribute>
  2097.                         <xsl:attribute name="style:font-size-asian">12pt</xsl:attribute>
  2098.                         <xsl:attribute name="style:font-size-complex">12pt</xsl:attribute>
  2099.                     </xsl:otherwise>
  2100.                 </xsl:choose>
  2101.                 <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µ╡«Θ¢ò">
  2102.                     <xsl:variable name="aa">
  2103.                         <xsl:value-of select="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:µ╡«Θ¢ò/@σ¡ù:τ▒╗σ₧ï"/>
  2104.                     </xsl:variable>
  2105.                     <xsl:attribute name="style:font-relief"><xsl:choose><xsl:when test="$aa='emboss'">embossed</xsl:when><xsl:when test="$aa='engrave'">engraved</xsl:when></xsl:choose></xsl:attribute>
  2106.                 </xsl:if>
  2107.                 <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:Θÿ┤σ╜▒/@σ¡ù:σÇ╝ = '1' or Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:Θÿ┤σ╜▒/@σ¡ù:σÇ╝ = 'true'">
  2108.                     <xsl:attribute name="fo:text-shadow">1pt 1pt</xsl:attribute>
  2109.                 </xsl:if>
  2110.                 <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σêáΘÖñτ║┐">
  2111.                     <xsl:attribute name="style:text-line-through-style">solid</xsl:attribute>
  2112.                     <xsl:choose>
  2113.                         <xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σêáΘÖñτ║┐/@σ¡ù:τ▒╗σ₧ï='double'">
  2114.                             <xsl:attribute name="style:text-line-through-type">double</xsl:attribute>
  2115.                         </xsl:when>
  2116.                         <xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σêáΘÖñτ║┐/@σ¡ù:τ▒╗σ₧ï='single'">
  2117.                             <xsl:attribute name="style:text-underline-mode">continuous</xsl:attribute>
  2118.                             <xsl:attribute name="style:text-line-through-mode">continuous</xsl:attribute>
  2119.                         </xsl:when>
  2120.                         <xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σêáΘÖñτ║┐/@σ¡ù:τ▒╗σ₧ï='bold'">
  2121.                             <xsl:attribute name="style:text-line-through-width">bold</xsl:attribute>
  2122.                         </xsl:when>
  2123.                         <xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σêáΘÖñτ║┐/@σ¡ù:τ▒╗σ₧ï='σ╕ª/'">
  2124.                             <xsl:attribute name="style:text-line-through-text">/</xsl:attribute>
  2125.                         </xsl:when>
  2126.                         <xsl:when test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:σêáΘÖñτ║┐/@σ¡ù:τ▒╗σ₧ï='σ╕ªX'">
  2127.                             <xsl:attribute name="style:text-line-through-text">X</xsl:attribute>
  2128.                         </xsl:when>
  2129.                         <xsl:otherwise/>
  2130.                     </xsl:choose>
  2131.                 </xsl:if>
  2132.                 <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:Σ╕ïσêÆτ║┐">
  2133.                     <xsl:apply-templates select="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:Σ╕ïσêÆτ║┐"/>
  2134.                 </xsl:if>
  2135.             </xsl:if>
  2136.             <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ¥ÇΘçìσÅ╖">
  2137.                 <xsl:apply-templates select="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ¥ÇΘçìσÅ╖"/>
  2138.             </xsl:if>
  2139.             <xsl:if test="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å/σ¡ù:τ⌐║σ┐â/@σ¡ù:σÇ╝='true'">
  2140.                 <xsl:attribute name="style:text-outline">true</xsl:attribute>
  2141.             </xsl:if>
  2142.         </xsl:element>
  2143.     </xsl:template>
  2144.     <xsl:template name="σìòσàâµá╝σà╖Σ╜ôσ╝ŵá╖">
  2145.         <xsl:choose>
  2146.             <xsl:when test="@Φí¿:τ▒╗σ₧ï = 'Default'">
  2147.                 <xsl:element name="style:default-style">
  2148.                     <xsl:call-template name="style-style-content"/>
  2149.                 </xsl:element>
  2150.             </xsl:when>
  2151.             <xsl:otherwise>
  2152.                 <xsl:element name="style:style">
  2153.                     <xsl:attribute name="style:name"><xsl:value-of select="@Φí¿:µáçΦ»åτ¼ª"/></xsl:attribute>
  2154.                     <xsl:if test="Φí¿:µò░σ¡ùµá╝σ╝Å/@Φí¿:µá╝σ╝Åτáü = 'general'">
  2155.                         <xsl:attribute name="style:parent-style-name">Default</xsl:attribute>
  2156.                     </xsl:if>
  2157.                     <xsl:attribute name="style:parent-style-name">Default</xsl:attribute>
  2158.                     <xsl:attribute name="style:data-style-name"><xsl:value-of select="concat( @Φí¿:µáçΦ»åτ¼ª, 'F')"/></xsl:attribute>
  2159.                     <!--chengxzΦ┐ÖΘçîΦªüµö╣ -->
  2160.                     <!--xsl:attribute name="style:data-style-name"><xsl:value-of select="'N2'"/></xsl:attribute-->
  2161.                     <xsl:call-template name="style-style-content"/>
  2162.                 </xsl:element>
  2163.             </xsl:otherwise>
  2164.         </xsl:choose>
  2165.     </xsl:template>
  2166.     <xsl:template match="Φí¿:Φ╛╣µíå">
  2167.         <!--chengxz 0622-->
  2168.         <xsl:if test="not(uof:Σ╕ï)">
  2169.             <xsl:attribute name="fo:border-bottom">none</xsl:attribute>
  2170.         </xsl:if>
  2171.         <xsl:if test="not(uof:Σ╕è)">
  2172.             <xsl:attribute name="fo:border-top">none</xsl:attribute>
  2173.         </xsl:if>
  2174.         <xsl:if test="not(uof:σ╖ª)">
  2175.             <xsl:attribute name="fo:border-left">none</xsl:attribute>
  2176.         </xsl:if>
  2177.         <xsl:if test="not(uof:σÅ│)">
  2178.             <xsl:attribute name="fo:border-right">none</xsl:attribute>
  2179.         </xsl:if>
  2180.         <xsl:apply-templates select="uof:σ»╣ΦºÆτ║┐1"/>
  2181.         <xsl:apply-templates select="uof:σ»╣ΦºÆτ║┐2"/>
  2182.         <xsl:apply-templates select="uof:Σ╕è"/>
  2183.         <xsl:apply-templates select="uof:Σ╕ï"/>
  2184.         <xsl:apply-templates select="uof:σ╖ª"/>
  2185.         <xsl:apply-templates select="uof:σÅ│"/>
  2186.     </xsl:template>
  2187.     <xsl:template match="uof:Σ╕è">
  2188.         <xsl:variable name="bordtype">
  2189.             <xsl:choose>
  2190.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  2191.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  2192.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  2193.                 <!-- Dash, Dot, DashDot, DashDotDot, SlantDashDot are not supported yet -->
  2194.                 <xsl:otherwise>solid</xsl:otherwise>
  2195.             </xsl:choose>
  2196.         </xsl:variable>
  2197.         <xsl:attribute name="fo:border-top"><xsl:value-of select="concat(@uof:σ«╜σ║ª div 30,$uofUnit, ' ',$bordtype, ' ', @uof:Θó£Φë▓)"/></xsl:attribute>
  2198.         <xsl:if test="@uof:τ▒╗σ₧ï = 'double'">
  2199.             <xsl:attribute name="style:border-line-width-top">0.035cm 0.035cm 0.035cm</xsl:attribute>
  2200.         </xsl:if>
  2201.     </xsl:template>
  2202.     <xsl:template match="uof:Σ╕ï">
  2203.         <xsl:variable name="bordtype">
  2204.             <xsl:choose>
  2205.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  2206.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  2207.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  2208.                 <!-- Dash, Dot, DashDot, DashDotDot, SlantDashDot are not supported yet -->
  2209.                 <xsl:otherwise>solid</xsl:otherwise>
  2210.             </xsl:choose>
  2211.         </xsl:variable>
  2212.         <xsl:attribute name="fo:border-bottom"><xsl:value-of select="concat(@uof:σ«╜σ║ª div 30, $uofUnit,' ',$bordtype, ' ',@uof:Θó£Φë▓)"/></xsl:attribute>
  2213.         <xsl:if test="@uof:τ▒╗σ₧ï = 'double'">
  2214.             <xsl:attribute name="style:border-line-width-bottom">0.035cm 0.035cm 0.035cm</xsl:attribute>
  2215.         </xsl:if>
  2216.     </xsl:template>
  2217.     <xsl:template match="uof:σ╖ª">
  2218.         <xsl:variable name="bordtype">
  2219.             <xsl:choose>
  2220.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  2221.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  2222.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  2223.                 <!-- Dash, Dot, DashDot, DashDotDot, SlantDashDot are not supported yet -->
  2224.                 <xsl:otherwise>solid</xsl:otherwise>
  2225.             </xsl:choose>
  2226.         </xsl:variable>
  2227.         <xsl:attribute name="fo:border-left"><xsl:value-of select="concat(@uof:σ«╜σ║ª div 30,$uofUnit, ' ',$bordtype, ' ', @uof:Θó£Φë▓)"/></xsl:attribute>
  2228.         <xsl:if test="@uof:τ▒╗σ₧ï = 'double'">
  2229.             <xsl:attribute name="style:border-line-width-left">0.035cm 0.035cm 0.035cm</xsl:attribute>
  2230.         </xsl:if>
  2231.     </xsl:template>
  2232.     <xsl:template match="uof:σÅ│">
  2233.         <xsl:variable name="bordtype">
  2234.             <xsl:choose>
  2235.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  2236.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  2237.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  2238.                 <!-- Dash, Dot, DashDot, DashDotDot, SlantDashDot are not supported yet -->
  2239.                 <xsl:otherwise>solid</xsl:otherwise>
  2240.             </xsl:choose>
  2241.         </xsl:variable>
  2242.         <xsl:attribute name="fo:border-right"><xsl:value-of select="concat( @uof:σ«╜σ║ª div 30, $uofUnit,' ',$bordtype, ' ', @uof:Θó£Φë▓)"/></xsl:attribute>
  2243.         <xsl:if test="@uof:τ▒╗σ₧ï = 'double'">
  2244.             <xsl:attribute name="style:border-line-width-right">0.035cm 0.035cm 0.035cm</xsl:attribute>
  2245.         </xsl:if>
  2246.     </xsl:template>
  2247.     <xsl:template match="uof:σ»╣ΦºÆτ║┐1">
  2248.         <xsl:variable name="bordtype">
  2249.             <xsl:choose>
  2250.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  2251.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  2252.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  2253.                 <!-- Dash, Dot, DashDot, DashDotDot, SlantDashDot are not supported yet -->
  2254.                 <xsl:otherwise>solid</xsl:otherwise>
  2255.             </xsl:choose>
  2256.         </xsl:variable>
  2257.         <xsl:attribute name="style:diagonal-bl-tr"><xsl:value-of select="concat( @uof:σ«╜σ║ª div 30, $uofUnit,' ',$bordtype, ' ', @uof:Θó£Φë▓)"/></xsl:attribute>
  2258.         <xsl:if test="@uof:τ▒╗σ₧ï = 'double'">
  2259.             <xsl:attribute name="style:diagonal-bl-tr-width">0.035cm 0.035cm 0.035cm</xsl:attribute>
  2260.         </xsl:if>
  2261.     </xsl:template>
  2262.     <xsl:template match="uof:σ»╣ΦºÆτ║┐2">
  2263.         <xsl:variable name="bordtype">
  2264.             <xsl:choose>
  2265.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'none'">none</xsl:when>
  2266.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'continuous'">solid</xsl:when>
  2267.                 <xsl:when test="@uof:τ▒╗σ₧ï = 'double'">double</xsl:when>
  2268.                 <!-- Dash, Dot, DashDot, DashDotDot, SlantDashDot are not supported yet -->
  2269.                 <xsl:otherwise>solid</xsl:otherwise>
  2270.             </xsl:choose>
  2271.         </xsl:variable>
  2272.         <xsl:attribute name="style:diagonal-tl-br"><xsl:value-of select="concat( @uof:σ«╜σ║ª div 30, $uofUnit,' ',$bordtype, ' ', @uof:Θó£Φë▓)"/></xsl:attribute>
  2273.         <xsl:if test="@uof:τ▒╗σ₧ï = 'double'">
  2274.             <xsl:attribute name="style:diagonal-tl-br-width">0.035cm 0.035cm 0.035cm</xsl:attribute>
  2275.         </xsl:if>
  2276.     </xsl:template>
  2277.     <xsl:template match="Φí¿:σ¡ùΣ╜ôµá╝σ╝Å">
  2278.         <xsl:choose>
  2279.             <xsl:when test="σ¡ù:Σ╕èΣ╕ïµáç/@σ¡ù:Σ╕èΣ╕ïµáç = 'sup'">
  2280.                 <style:style style:name="{concat(../@Φí¿:µáçΦ»åτ¼ª,'T0')}" style:family="text">
  2281.                     <style:text-properties style:text-position="33% 58%"/>
  2282.                 </style:style>
  2283.             </xsl:when>
  2284.             <xsl:when test="σ¡ù:Σ╕èΣ╕ïµáç/@σ¡ù:Σ╕èΣ╕ïµáç = 'sub'">
  2285.                 <style:style style:name="{concat(../@Φí¿:µáçΦ»åτ¼ª,'T0')}" style:family="text">
  2286.                     <style:text-properties style:text-position="-33% 58%"/>
  2287.                 </style:style>
  2288.             </xsl:when>
  2289.             <xsl:otherwise/>
  2290.         </xsl:choose>
  2291.     </xsl:template>
  2292.     <xsl:template name="tablecolumngroup">
  2293.         <xsl:param name="start"/>
  2294.         <xsl:param name="end"/>
  2295.         <xsl:param name="prestart"/>
  2296.         <xsl:param name="preend"/>
  2297.         <xsl:param name="nextstart"/>
  2298.         <xsl:param name="nextend"/>
  2299.         <table:table-column-group>
  2300.             <table:table-column>
  2301.                 <xsl:attribute name="table:style-name">co1</xsl:attribute>
  2302.                 <xsl:attribute name="table:table-column-repeated"><xsl:value-of select="@Φí¿:τ╗굡ó - @Φí¿:Φ╡╖σºï + 1"/></xsl:attribute>
  2303.             </table:table-column>
  2304.             <xsl:if test="$nextstart >= $start and $nextend <= $end">
  2305.                 <xsl:for-each select="following-sibling::Φí¿:σêù[1]">
  2306.                     <xsl:call-template name="tablecolumngroup"/>
  2307.                 </xsl:for-each>
  2308.             </xsl:if>
  2309.         </table:table-column-group>
  2310.     </xsl:template>
  2311.     <xsl:template match="Φí¿:σ╖ÑΣ╜£Φí¿">
  2312.         <xsl:variable name="rowpath" select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî"/>
  2313.         <xsl:variable name="colpath" select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù"/>
  2314.         <xsl:element name="table:table">
  2315.             <xsl:attribute name="table:name"><xsl:value-of select="@Φí¿:σÉìτº░"/></xsl:attribute>
  2316.             <xsl:if test="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣">
  2317.                 <xsl:attribute name="table:style-name"><xsl:value-of select="concat( 'ta', count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1)"/></xsl:attribute>
  2318.                 <xsl:if test="(@Φí¿:ΘÜÉΦùÅ = '1')or(@Φí¿:ΘÜÉΦùÅ = 'true')">
  2319.                     <xsl:attribute name="table:protected">true</xsl:attribute>
  2320.                 </xsl:if>
  2321.                 <xsl:if test="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/uof:ΘöÜτé╣ or Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σ¢╛Φí¿">
  2322.                     <table:shapes>
  2323.                         <xsl:apply-templates select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/uof:ΘöÜτé╣"/>
  2324.                         <xsl:apply-templates select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σ¢╛Φí¿">
  2325.                             <xsl:with-param name="table-name" select="@Φí¿:σÉìτº░"/>
  2326.                         </xsl:apply-templates>
  2327.                     </table:shapes>
  2328.                 </xsl:if>
  2329.                 <xsl:variable name="table-pos">
  2330.                     <xsl:value-of select="count(../preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2331.                 </xsl:variable>
  2332.                 <xsl:if test="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å/Φí¿:σêù">
  2333.                     <xsl:for-each select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å/Φí¿:σêù">
  2334.                         <xsl:variable name="start" select="@Φí¿:Φ╡╖σºï"/>
  2335.                         <xsl:variable name="end" select="@Φí¿:τ╗굡ó"/>
  2336.                         <xsl:variable name="prestart" select="preceding-sibling::Φí¿:σêù/@Φí¿:Φ╡╖σºï"/>
  2337.                         <xsl:variable name="preend" select="preceding-sibling::Φí¿:σêù/@Φí¿:τ╗굡ó"/>
  2338.                         <xsl:variable name="nextstart" select="following-sibling::Φí¿:σêù/@Φí¿:Φ╡╖σºï"/>
  2339.                         <xsl:variable name="nextend" select="following-sibling::Φí¿:σêù/@Φí¿:τ╗굡ó"/>
  2340.                             <xsl:call-template name="tablecolumngroup">
  2341.                                 <xsl:with-param name="start" select="$start"/>
  2342.                                 <xsl:with-param name="end" select="$end"/>
  2343.                                 <xsl:with-param name="prestart" select="$prestart"/>
  2344.                                 <xsl:with-param name="preend" select="$preend"/>
  2345.                                 <xsl:with-param name="nextstart" select="$nextstart"/>
  2346.                                 <xsl:with-param name="nextend" select="$nextend"/>
  2347.                             </xsl:call-template>
  2348.                     </xsl:for-each>
  2349.                 </xsl:if>
  2350.                 <xsl:for-each select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù">
  2351.                     <table:table-column>
  2352.                         <xsl:attribute name="table:style-name"><xsl:value-of select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  2353.                         <xsl:if test="@Φí¿:Φ╖¿σ║ª and not(@Φí¿:Φ╖¿σ║ª='1')">
  2354.                             <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="@Φí¿:Φ╖¿σ║ª"/></xsl:attribute>
  2355.                         </xsl:if>
  2356.                         <xsl:if test="@Φí¿:ΘÜÉΦùÅ">
  2357.                             <xsl:attribute name="table:visibility">collapse</xsl:attribute>
  2358.                         </xsl:if>
  2359.                     </table:table-column>
  2360.                 </xsl:for-each>
  2361.                 <xsl:variable name="condition-pos-str1">
  2362.                     <xsl:if test="../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû">
  2363.                         <xsl:call-template name="condition-row-column-string">
  2364.                             <xsl:with-param name="last" select="''"/>
  2365.                             <xsl:with-param name="total" select="count(../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû)"/>
  2366.                             <xsl:with-param name="index" select="1"/>
  2367.                         </xsl:call-template>
  2368.                     </xsl:if>
  2369.                 </xsl:variable>
  2370.                 <xsl:variable name="condition-pos-str2">
  2371.                     <xsl:if test="../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µò░µì«µ£ëµòêµÇºΘ¢å/Φí¿:µò░µì«µ£ëµòêµÇº">
  2372.                         <xsl:call-template name="validation-row-column-string">
  2373.                             <xsl:with-param name="last" select="''"/>
  2374.                             <xsl:with-param name="total" select="count(../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µò░µì«µ£ëµòêµÇºΘ¢å/Φí¿:µò░µì«µ£ëµòêµÇº)"/>
  2375.                             <xsl:with-param name="index" select="1"/>
  2376.                         </xsl:call-template>
  2377.                     </xsl:if>
  2378.                 </xsl:variable>
  2379.                 <xsl:variable name="condition-pos-str" select="concat($condition-pos-str1, $condition-pos-str2)"/>
  2380.                 <xsl:choose>
  2381.                     <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî">
  2382.                         <xsl:call-template name="create-rows">
  2383.                             <xsl:with-param name="lastrowpos" select="0"/>
  2384.                             <xsl:with-param name="row-count" select="count(Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî)"/>
  2385.                             <xsl:with-param name="currentRow" select="1"/>
  2386.                             <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2387.                         </xsl:call-template>
  2388.                     </xsl:when>
  2389.                     <xsl:otherwise>
  2390.                         <xsl:variable name="tableHasStyle">
  2391.                             <xsl:choose>
  2392.                                 <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣[@Φí¿:σ╝ŵá╖σ╝òτö¿]">
  2393.                                     <xsl:value-of select="1"/>
  2394.                                 </xsl:when>
  2395.                                 <xsl:otherwise>
  2396.                                     <xsl:value-of select="0"/>
  2397.                                 </xsl:otherwise>
  2398.                             </xsl:choose>
  2399.                         </xsl:variable>
  2400.                         <xsl:choose>
  2401.                             <xsl:when test="./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:ΦíîσÅ╖]">
  2402.                                 <xsl:for-each select="./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:ΦíîσÅ╖]">
  2403.                                     <xsl:variable name="number-repeated">
  2404.                                         <xsl:choose>
  2405.                                             <xsl:when test="position() = 1">
  2406.                                                 <xsl:value-of select="./@Φí¿:ΦíîσÅ╖"/>
  2407.                                             </xsl:when>
  2408.                                             <xsl:otherwise>
  2409.                                                 <xsl:value-of select="./@Φí¿:ΦíîσÅ╖ - preceding::Φí¿:σêåΘí╡τ¼ª[@Φí¿:ΦíîσÅ╖ and (position()=count(.))]/@Φí¿:ΦíîσÅ╖ - 1"/>
  2410.                                             </xsl:otherwise>
  2411.                                         </xsl:choose>
  2412.                                     </xsl:variable>
  2413.                                     <xsl:if test="$number-repeated > 0">
  2414.                                         <xsl:element name="table:table-row">
  2415.                                             <xsl:if test="($rowpath/@Φí¿:ΘÜÉΦùÅ = '1') or  ($rowpath/@Φí¿:ΘÜÉΦùÅ = 'true')">
  2416.                                                 <xsl:attribute name="table:visibility">collapse</xsl:attribute>
  2417.                                             </xsl:if>
  2418.                                             <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ro',$table-pos)"/></xsl:attribute>
  2419.                                             <xsl:attribute name="table:number-rows-repeated"><xsl:value-of select="$number-repeated"/></xsl:attribute>
  2420.                                             <xsl:choose>
  2421.                                                 <xsl:when test="$tableHasStyle = 1">
  2422.                                                     <table:table-cell table:number-columns-repeated="256"/>
  2423.                                                 </xsl:when>
  2424.                                                 <xsl:otherwise>
  2425.                                                     <table:table-cell/>
  2426.                                                 </xsl:otherwise>
  2427.                                             </xsl:choose>
  2428.                                         </xsl:element>
  2429.                                     </xsl:if>
  2430.                                     <xsl:element name="table:table-row">
  2431.                                         <xsl:if test="($colpath/@Φí¿:ΘÜÉΦùÅ = '1') or  ($colpath/@Φí¿:ΘÜÉΦùÅ = 'true')">
  2432.                                             <xsl:attribute name="table:visibility">collapse</xsl:attribute>
  2433.                                         </xsl:if>
  2434.                                         <xsl:attribute name="table:style-name"><xsl:value-of select="concat('rob',$table-pos)"/></xsl:attribute>
  2435.                                         <xsl:choose>
  2436.                                             <xsl:when test="$tableHasStyle = 1">
  2437.                                                 <table:table-cell table:number-columns-repeated="256"/>
  2438.                                             </xsl:when>
  2439.                                             <xsl:otherwise>
  2440.                                                 <table:table-cell/>
  2441.                                             </xsl:otherwise>
  2442.                                         </xsl:choose>
  2443.                                     </xsl:element>
  2444.                                 </xsl:for-each>
  2445.                             </xsl:when>
  2446.                             <xsl:otherwise>
  2447.                                 <xsl:element name="table:table-row">
  2448.                                     <xsl:choose>
  2449.                                         <xsl:when test="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  2450.                                             <xsl:attribute name="table:style-name"><xsl:value-of select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  2451.                                         </xsl:when>
  2452.                                         <xsl:otherwise>
  2453.                                             <xsl:attribute name="table:style-name"><xsl:text>ro1</xsl:text></xsl:attribute>
  2454.                                         </xsl:otherwise>
  2455.                                     </xsl:choose>
  2456.                                     <xsl:element name="table:table-cell"/>
  2457.                                 </xsl:element>
  2458.                             </xsl:otherwise>
  2459.                         </xsl:choose>
  2460.                         <xsl:if test="../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû">
  2461.                             <xsl:variable name="condition-row-max">
  2462.                                 <xsl:call-template name="condition-row-col-pos-max">
  2463.                                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2464.                                     <xsl:with-param name="last-value" select="0"/>
  2465.                                     <xsl:with-param name="div-value" select="'R'"/>
  2466.                                 </xsl:call-template>
  2467.                             </xsl:variable>
  2468.                             <xsl:variable name="condition-col-max">
  2469.                                 <xsl:call-template name="condition-row-col-pos-max">
  2470.                                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2471.                                     <xsl:with-param name="last-value" select="0"/>
  2472.                                     <xsl:with-param name="div-value" select="'C'"/>
  2473.                                 </xsl:call-template>
  2474.                             </xsl:variable>
  2475.                             <xsl:variable name="break-row-max">
  2476.                                 <xsl:call-template name="break-row-beyond-max">
  2477.                                     <xsl:with-param name="pos" select="1"/>
  2478.                                     <xsl:with-param name="last-value" select="0"/>
  2479.                                     <xsl:with-param name="count-value" select="count(./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:ΦíîσÅ╖])"/>
  2480.                                 </xsl:call-template>
  2481.                             </xsl:variable>
  2482.                             <xsl:variable name="end-value">
  2483.                                 <xsl:choose>
  2484.                                     <xsl:when test="$condition-row-max < $break-row-max">
  2485.                                         <xsl:value-of select="$break-row-max"/>
  2486.                                     </xsl:when>
  2487.                                     <xsl:otherwise>
  2488.                                         <xsl:value-of select="$condition-row-max"/>
  2489.                                     </xsl:otherwise>
  2490.                                 </xsl:choose>
  2491.                             </xsl:variable>
  2492.                             <xsl:call-template name="get-row-beyond-last">
  2493.                                 <xsl:with-param name="index-value" select="1"/>
  2494.                                 <xsl:with-param name="worksheetNo" select="count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2495.                                 <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2496.                                 <xsl:with-param name="end-pos" select="$end-value"/>
  2497.                                 <xsl:with-param name="total-col" select="$condition-col-max"/>
  2498.                             </xsl:call-template>
  2499.                         </xsl:if>
  2500.                         <xsl:if test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  2501.                             <table:table-row table:style-name="ro1" table:number-rows-repeated="32000">
  2502.                                 <table:table-cell table:number-columns-repeated="256"/>
  2503.                             </table:table-row>
  2504.                         </xsl:if>
  2505.                     </xsl:otherwise>
  2506.                 </xsl:choose>
  2507.             </xsl:if>
  2508.         </xsl:element>
  2509.         <xsl:if test="Φí¿:σ¢╛Φí¿">
  2510.             <table:shapes>
  2511.                 <xsl:apply-templates select="Φí¿:σ¢╛Φí¿">
  2512.                     <xsl:with-param name="table-name" select="@Φí¿:σÉìτº░"/>
  2513.                 </xsl:apply-templates>
  2514.             </table:shapes>
  2515.         </xsl:if>
  2516.     </xsl:template>
  2517.     <!--xsl:template name="create-columns-without-input"></xsl:template>
  2518.     <xsl:template name="create-columns"></xsl:template>
  2519.     <xsl:template name="condition-row-column-string"></xsl:template>
  2520. <xsl:template name="validation-row-column-string"></xsl:template>
  2521. <xsl:template name="create-rows"></xsl:template>
  2522. <xsl:template name="condition-row-col-pos-max"></xsl:template>
  2523. <xsl:template name="get-row-beyond-last"></xsl:template-->
  2524.     <!--xsl:template name="break-row-beyond-max"></xsl:template-->
  2525.     <!-- chengxzµ£ëΘù«Θóÿ-->
  2526.     <xsl:template name="create-columns-without-input">
  2527.         <xsl:param name="table-pos"/>
  2528.         <xsl:variable name="rowpath" select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî"/>
  2529.         <xsl:variable name="colpath" select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù"/>
  2530.         <xsl:choose>
  2531.             <xsl:when test="./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖]">
  2532.                 <xsl:for-each select="./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖]">
  2533.                     <xsl:variable name="number-repeated">
  2534.                         <xsl:choose>
  2535.                             <xsl:when test="position() = 1">
  2536.                                 <xsl:value-of select="./@Φí¿:σêùσÅ╖"/>
  2537.                             </xsl:when>
  2538.                             <xsl:otherwise>
  2539.                                 <xsl:value-of select="./@Φí¿:σêùσÅ╖ - preceding::Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖ and (position()=count(.))]/@Φí¿:σêùσÅ╖ - 1"/>
  2540.                             </xsl:otherwise>
  2541.                         </xsl:choose>
  2542.                     </xsl:variable>
  2543.                     <xsl:if test="$number-repeated > 0">
  2544.                         <xsl:element name="table:table-column">
  2545.                             <xsl:if test="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  2546.                                 <xsl:attribute name="table:default-cell-style-name"><xsl:value-of select="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  2547.                             </xsl:if>
  2548.                             <xsl:if test="($colpath/@Φí¿:ΘÜÉΦùÅ = '1') or  ($colpath/@Φí¿:ΘÜÉΦùÅ = 'true')">
  2549.                                 <xsl:attribute name="table:visibility">collapse</xsl:attribute>
  2550.                             </xsl:if>
  2551.                             <xsl:attribute name="table:style-name"><xsl:value-of select="concat('co',$table-pos)"/></xsl:attribute>
  2552.                             <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$number-repeated"/></xsl:attribute>
  2553.                         </xsl:element>
  2554.                     </xsl:if>
  2555.                     <xsl:element name="table:table-column">
  2556.                         <xsl:if test="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  2557.                             <xsl:attribute name="table:default-cell-style-name"><xsl:value-of select="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  2558.                         </xsl:if>
  2559.                         <xsl:if test="($colpath/@Φí¿:ΘÜÉΦùÅ = '1') or  ($colpath/@Φí¿:ΘÜÉΦùÅ = 'true')">
  2560.                             <xsl:attribute name="table:visibility">collapse</xsl:attribute>
  2561.                         </xsl:if>
  2562.                         <xsl:attribute name="table:style-name"><xsl:value-of select="concat('cob',$table-pos)"/></xsl:attribute>
  2563.                     </xsl:element>
  2564.                 </xsl:for-each>
  2565.             </xsl:when>
  2566.             <xsl:otherwise>
  2567.                 <xsl:element name="table:table-column">
  2568.                     <xsl:choose>
  2569.                         <xsl:when test="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  2570.                             <xsl:attribute name="table:style-name"><xsl:value-of select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  2571.                         </xsl:when>
  2572.                         <xsl:otherwise>
  2573.                             <xsl:attribute name="table:style-name"><xsl:text>co1</xsl:text></xsl:attribute>
  2574.                         </xsl:otherwise>
  2575.                     </xsl:choose>
  2576.                     <xsl:if test="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:µ£Çσñºσêù and Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:µ£Çσñºσêù > 0">
  2577.                         <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:µ£Çσñºσêù"/></xsl:attribute>
  2578.                     </xsl:if>
  2579.                     <xsl:attribute name="table:default-cell-style-name"><xsl:text>Default</xsl:text></xsl:attribute>
  2580.                 </xsl:element>
  2581.             </xsl:otherwise>
  2582.         </xsl:choose>
  2583.     </xsl:template>
  2584.     <xsl:template name="create-columns">
  2585.         <xsl:param name="columnCount"/>
  2586.         <xsl:param name="currentColumn" select="1"/>
  2587.         <xsl:param name="finishedColumns" select="0"/>
  2588.         <xsl:param name="worksheetNo" select="count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2589.         <xsl:param name="currentColumnNode"/>
  2590.         <xsl:choose>
  2591.             <xsl:when test="$finishedColumns < $columnCount">
  2592.                 <xsl:choose>
  2593.                     <xsl:when test="$currentColumnNode">
  2594.                         <xsl:choose>
  2595.                             <xsl:when test="$currentColumnNode/@Φí¿:σêùσÅ╖ - $finishedColumns  > 1">
  2596.                                 <xsl:call-template name="create-default-column">
  2597.                                     <xsl:with-param name="currentColumn" select="$currentColumn"/>
  2598.                                     <xsl:with-param name="currentColumnNode" select="$currentColumnNode"/>
  2599.                                     <xsl:with-param name="worksheetNo" select="$worksheetNo"/>
  2600.                                 </xsl:call-template>
  2601.                                 <xsl:call-template name="create-columns">
  2602.                                     <xsl:with-param name="columnCount" select="$columnCount"/>
  2603.                                     <xsl:with-param name="currentColumn" select="$currentColumn"/>
  2604.                                     <xsl:with-param name="currentColumnNode" select="$currentColumnNode"/>
  2605.                                     <xsl:with-param name="finishedColumns" select="$finishedColumns + 1"/>
  2606.                                     <xsl:with-param name="worksheetNo" select="$worksheetNo"/>
  2607.                                 </xsl:call-template>
  2608.                             </xsl:when>
  2609.                             <xsl:otherwise>
  2610.                                 <xsl:element name="table:table-column">
  2611.                                     <xsl:if test="($currentColumnNode/@Φí¿:ΘÜÉΦùÅ = '1') or  ($currentColumnNode/@Φí¿:ΘÜÉΦùÅ = 'true')">
  2612.                                         <xsl:attribute name="table:visibility">collapse</xsl:attribute>
  2613.                                     </xsl:if>
  2614.                                     <xsl:if test="$currentColumnNode/@Φí¿:Φ╖¿σ║ª">
  2615.                                         <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$currentColumnNode/@Φí¿:Φ╖¿σ║ª + 1"/></xsl:attribute>
  2616.                                     </xsl:if>
  2617.                                     <xsl:choose>
  2618.                                         <xsl:when test="key('ColBreak', $currentColumn)">
  2619.                                             <xsl:attribute name="table:style-name"><xsl:value-of select="concat('cob', $worksheetNo, '-', $currentColumn)"/></xsl:attribute>
  2620.                                         </xsl:when>
  2621.                                         <xsl:otherwise>
  2622.                                             <xsl:attribute name="table:style-name"><xsl:value-of select="concat('co', $worksheetNo, '-', $currentColumn)"/></xsl:attribute>
  2623.                                         </xsl:otherwise>
  2624.                                     </xsl:choose>
  2625.                                 </xsl:element>
  2626.                                 <xsl:call-template name="create-columns">
  2627.                                     <xsl:with-param name="columnCount" select="$columnCount"/>
  2628.                                     <xsl:with-param name="currentColumn" select="$currentColumn + 1"/>
  2629.                                     <xsl:with-param name="finishedColumns" select="$finishedColumns + 1"/>
  2630.                                     <xsl:with-param name="currentColumnNode" select="Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:σêù[$currentColumn + 1]"/>
  2631.                                     <xsl:with-param name="worksheetNo" select="$worksheetNo"/>
  2632.                                 </xsl:call-template>
  2633.                             </xsl:otherwise>
  2634.                         </xsl:choose>
  2635.                     </xsl:when>
  2636.                     <xsl:otherwise>
  2637.                         <xsl:call-template name="create-default-column">
  2638.                             <xsl:with-param name="currentColumn" select="$currentColumn"/>
  2639.                             <xsl:with-param name="currentColumnNode" select="$currentColumnNode"/>
  2640.                             <xsl:with-param name="worksheetNo" select="$worksheetNo"/>
  2641.                         </xsl:call-template>
  2642.                         <xsl:call-template name="create-columns">
  2643.                             <xsl:with-param name="columnCount" select="$columnCount"/>
  2644.                             <xsl:with-param name="currentColumn" select="$currentColumn"/>
  2645.                             <xsl:with-param name="finishedColumns" select="$finishedColumns + 1"/>
  2646.                             <xsl:with-param name="worksheetNo" select="$worksheetNo"/>
  2647.                         </xsl:call-template>
  2648.                     </xsl:otherwise>
  2649.                 </xsl:choose>
  2650.             </xsl:when>
  2651.             <xsl:otherwise>
  2652.                 <xsl:if test="$currentColumn = $columnCount">
  2653.                     <xsl:if test="Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª/@Φí¿:σêùσÅ╖ > $finishedColumns">
  2654.                         <xsl:call-template name="get-column-beyond-last">
  2655.                             <xsl:with-param name="index-value" select="$finishedColumns"/>
  2656.                             <xsl:with-param name="worksheetNo" select="$worksheetNo"/>
  2657.                         </xsl:call-template>
  2658.                     </xsl:if>
  2659.                 </xsl:if>
  2660.             </xsl:otherwise>
  2661.         </xsl:choose>
  2662.     </xsl:template>
  2663.     <xsl:template name="get-column-beyond-last">
  2664.         <xsl:param name="index-value"/>
  2665.         <xsl:param name="worksheetNo"/>
  2666.         <xsl:for-each select="Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖]">
  2667.             <xsl:variable name="each-column-value" select="@Φí¿:σêùσÅ╖"/>
  2668.             <xsl:choose>
  2669.                 <xsl:when test="$each-column-value + 1 > $index-value">
  2670.                     <xsl:variable name="number-repeated">
  2671.                         <xsl:choose>
  2672.                             <xsl:when test="preceding-sibling::Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖][position()=count(.)]/@Φí¿:σêùσÅ╖ + 1 = $index-value">
  2673.                                 <xsl:value-of select="$each-column-value - preceding-sibling::Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖  and (position()=count(.))]/@Φí¿:σêùσÅ╖ - 1"/>
  2674.                             </xsl:when>
  2675.                             <xsl:when test="preceding-sibling::Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖ and (position()=count(.))]/@Φí¿:σêùσÅ╖ + 1 > $index-value">
  2676.                                 <xsl:value-of select="$each-column-value - preceding-sibling::Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖][position()=count(.)]/@Φí¿:σêùσÅ╖ - 1"/>
  2677.                             </xsl:when>
  2678.                             <xsl:otherwise>
  2679.                                 <xsl:value-of select="$each-column-value - $index-value + 1"/>
  2680.                             </xsl:otherwise>
  2681.                         </xsl:choose>
  2682.                     </xsl:variable>
  2683.                     <xsl:if test="$number-repeated > 0">
  2684.                         <xsl:element name="table:table-column">
  2685.                             <xsl:attribute name="table:style-name"><xsl:value-of select="'co1'"/></xsl:attribute>
  2686.                             <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$number-repeated"/></xsl:attribute>
  2687.                         </xsl:element>
  2688.                     </xsl:if>
  2689.                     <xsl:element name="table:table-column">
  2690.                         <xsl:if test="../../Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣[@Φí¿:σ╝ŵá╖σ╝òτö¿]">
  2691.                             <xsl:attribute name="table:default-cell-style-name"><xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  2692.                         </xsl:if>
  2693.                         <xsl:attribute name="table:style-name"><xsl:value-of select="concat('cob',$worksheetNo)"/></xsl:attribute>
  2694.                     </xsl:element>
  2695.                 </xsl:when>
  2696.                 <xsl:when test="$each-column-value + 1 = $index-value">
  2697.                     <xsl:element name="table:table-column">
  2698.                         <xsl:if test="/../../Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣[@Φí¿:σ╝ŵá╖σ╝òτö¿]">
  2699.                             <xsl:attribute name="table:default-cell-style-name"><xsl:value-of select="./../../Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  2700.                         </xsl:if>
  2701.                         <xsl:attribute name="table:style-name"><xsl:value-of select="concat('cob',$worksheetNo)"/></xsl:attribute>
  2702.                     </xsl:element>
  2703.                 </xsl:when>
  2704.             </xsl:choose>
  2705.         </xsl:for-each>
  2706.     </xsl:template>
  2707.     <xsl:template name="condition-row-column-string">
  2708.         <xsl:param name="last"/>
  2709.         <xsl:param name="total"/>
  2710.         <xsl:param name="index"/>
  2711.         <xsl:variable name="table-pos" select="count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2712.         <xsl:variable name="current">
  2713.             <xsl:call-template name="parse-range">
  2714.                 <xsl:with-param name="range-value" select="../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû[position() = $index]/Φí¿:Φîâσ¢┤"/>
  2715.             </xsl:call-template>
  2716.         </xsl:variable>
  2717.         <xsl:variable name="current-value" select="concat('(c',$table-pos,'-',$index,':', $current,');')"/>
  2718.         <xsl:if test="$index < $total">
  2719.             <xsl:call-template name="condition-row-column-string">
  2720.                 <xsl:with-param name="last" select="concat($last, $current-value)"/>
  2721.                 <xsl:with-param name="total" select="$total"/>
  2722.                 <xsl:with-param name="index" select="$index + 1"/>
  2723.             </xsl:call-template>
  2724.         </xsl:if>
  2725.         <xsl:if test="$index = $total">
  2726.             <xsl:value-of select="concat($last, $current-value)"/>
  2727.         </xsl:if>
  2728.     </xsl:template>
  2729.     <xsl:template name="validation-row-column-string">
  2730.         <xsl:param name="last"/>
  2731.         <xsl:param name="total"/>
  2732.         <xsl:param name="index"/>
  2733.         <xsl:variable name="table-pos" select="count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2734.         <xsl:variable name="current">
  2735.             <xsl:call-template name="parse-range">
  2736.                 <xsl:with-param name="range-value" select="../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µò░µì«µ£ëµòêµÇºΘ¢å/Φí¿:µò░µì«µ£ëµòêµÇº[position() = $index]/Φí¿:Φîâσ¢┤"/>
  2737.             </xsl:call-template>
  2738.         </xsl:variable>
  2739.         <xsl:variable name="current-value" select="concat('(v',$index,':', $current,');')"/>
  2740.         <xsl:if test="$index < $total">
  2741.             <xsl:call-template name="validation-row-column-string">
  2742.                 <xsl:with-param name="last" select="concat($last, $current-value)"/>
  2743.                 <xsl:with-param name="total" select="$total"/>
  2744.                 <xsl:with-param name="index" select="$index + 1"/>
  2745.             </xsl:call-template>
  2746.         </xsl:if>
  2747.         <xsl:if test="$index = $total">
  2748.             <xsl:value-of select="concat($last, $current-value)"/>
  2749.         </xsl:if>
  2750.     </xsl:template>
  2751.     <xsl:template name="create-rows">
  2752.         <xsl:param name="lastrowpos"/>
  2753.         <xsl:param name="row-count"/>
  2754.         <xsl:param name="currentRow"/>
  2755.         <xsl:param name="condition-pos-str"/>
  2756.         <xsl:choose>
  2757.             <xsl:when test="$currentRow < ($row-count + 1)">
  2758.                 <xsl:variable name="span-value">
  2759.                     <xsl:choose>
  2760.                         <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖">
  2761.                             <xsl:choose>
  2762.                                 <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  2763.                                     <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖ - $lastrowpos + ./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª"/>
  2764.                                 </xsl:when>
  2765.                                 <xsl:otherwise>
  2766.                                     <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖ - $lastrowpos"/>
  2767.                                 </xsl:otherwise>
  2768.                             </xsl:choose>
  2769.                         </xsl:when>
  2770.                         <xsl:otherwise>
  2771.                             <xsl:choose>
  2772.                                 <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  2773.                                     <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª + 1"/>
  2774.                                 </xsl:when>
  2775.                                 <xsl:otherwise>
  2776.                                     <xsl:value-of select="1"/>
  2777.                                 </xsl:otherwise>
  2778.                             </xsl:choose>
  2779.                         </xsl:otherwise>
  2780.                     </xsl:choose>
  2781.                 </xsl:variable>
  2782.                 <xsl:variable name="current-index">
  2783.                     <xsl:choose>
  2784.                         <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖">
  2785.                             <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖"/>
  2786.                         </xsl:when>
  2787.                         <xsl:otherwise>
  2788.                             <xsl:value-of select="$lastrowpos + 1"/>
  2789.                         </xsl:otherwise>
  2790.                     </xsl:choose>
  2791.                 </xsl:variable>
  2792.                 <xsl:choose>
  2793.                     <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å/Φí¿:Φíî">
  2794.                         <xsl:for-each select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å/Φí¿:Φíî[1]">
  2795.                             <xsl:call-template name="table:table-row-group"/>
  2796.                         </xsl:for-each>
  2797.                         <xsl:for-each select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[not(@Φí¿:ΦíîσÅ╖)]">
  2798.                             <xsl:call-template name="create-row">
  2799.                                 <xsl:with-param name="index-value" select="$lastrowpos"/>
  2800.                                 <xsl:with-param name="span-value" select="$span-value"/>
  2801.                                 <xsl:with-param name="worksheetNo" select="count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2802.                                 <xsl:with-param name="row-value" select="$currentRow"/>
  2803.                                 <xsl:with-param name="times" select="1"/>
  2804.                                 <xsl:with-param name="current-index" select="$current-index"/>
  2805.                                 <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2806.                             </xsl:call-template>
  2807.                         </xsl:for-each>
  2808.                     </xsl:when>
  2809.                     <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å and ( ./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å/Φí¿:Φíî/@Φí¿:Φ╡╖σºï >= ($currentRow - 1) and ($currentRow - 1) <= ./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å/Φí¿:Φíî/@Φí¿:τ╗굡ó )">
  2810.                         <xsl:element name="table:table-row-group">
  2811.                             <xsl:variable name="TempStart">
  2812.                                 <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å/Φí¿:Φíî/@Φí¿:Φ╡╖σºï"/>
  2813.                             </xsl:variable>
  2814.                             <xsl:variable name="TempEnd">
  2815.                                 <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêåτ╗äΘ¢å/Φí¿:Φíî/@Φí¿:τ╗굡ó"/>
  2816.                             </xsl:variable>
  2817.                             <xsl:for-each select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî">
  2818.                                 <xsl:if test="$TempStart >= ($currentRow - 1) and ($currentRow - 1) <= $TempEnd">
  2819.                                     <xsl:call-template name="create-row">
  2820.                                         <xsl:with-param name="index-value" select="$lastrowpos"/>
  2821.                                         <xsl:with-param name="span-value" select="$span-value"/>
  2822.                                         <xsl:with-param name="worksheetNo" select="count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2823.                                         <xsl:with-param name="row-value" select="$currentRow"/>
  2824.                                         <xsl:with-param name="times" select="1"/>
  2825.                                         <xsl:with-param name="current-index" select="$current-index"/>
  2826.                                         <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2827.                                     </xsl:call-template>
  2828.                                 </xsl:if>
  2829.                             </xsl:for-each>
  2830.                         </xsl:element>
  2831.                     </xsl:when>
  2832.                     <xsl:otherwise>
  2833.                         <xsl:call-template name="create-row">
  2834.                             <xsl:with-param name="index-value" select="$lastrowpos"/>
  2835.                             <xsl:with-param name="span-value" select="$span-value"/>
  2836.                             <xsl:with-param name="worksheetNo" select="count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2837.                             <xsl:with-param name="row-value" select="$currentRow"/>
  2838.                             <xsl:with-param name="times" select="1"/>
  2839.                             <xsl:with-param name="current-index" select="$current-index"/>
  2840.                             <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2841.                         </xsl:call-template>
  2842.                         <xsl:if test="$currentRow < $row-count">
  2843.                             <xsl:call-template name="create-rows">
  2844.                                 <xsl:with-param name="lastrowpos">
  2845.                                     <xsl:choose>
  2846.                                         <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖">
  2847.                                             <xsl:choose>
  2848.                                                 <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  2849.                                                     <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖ + ./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª"/>
  2850.                                                 </xsl:when>
  2851.                                                 <xsl:otherwise>
  2852.                                                     <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖"/>
  2853.                                                 </xsl:otherwise>
  2854.                                             </xsl:choose>
  2855.                                         </xsl:when>
  2856.                                         <xsl:otherwise>
  2857.                                             <xsl:choose>
  2858.                                                 <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  2859.                                                     <xsl:value-of select="$lastrowpos + ./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª + 1"/>
  2860.                                                 </xsl:when>
  2861.                                                 <xsl:otherwise>
  2862.                                                     <xsl:value-of select="$lastrowpos + 1"/>
  2863.                                                 </xsl:otherwise>
  2864.                                             </xsl:choose>
  2865.                                         </xsl:otherwise>
  2866.                                     </xsl:choose>
  2867.                                 </xsl:with-param>
  2868.                                 <xsl:with-param name="row-count" select="$row-count"/>
  2869.                                 <xsl:with-param name="currentRow" select="$currentRow + 1"/>
  2870.                                 <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2871.                             </xsl:call-template>
  2872.                         </xsl:if>
  2873.                     </xsl:otherwise>
  2874.                 </xsl:choose>
  2875.             </xsl:when>
  2876.             <xsl:when test="$currentRow = $row-count">
  2877.                 <xsl:variable name="last-pos">
  2878.                     <xsl:choose>
  2879.                         <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖">
  2880.                             <xsl:choose>
  2881.                                 <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  2882.                                     <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖ + ./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª"/>
  2883.                                 </xsl:when>
  2884.                                 <xsl:otherwise>
  2885.                                     <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖"/>
  2886.                                 </xsl:otherwise>
  2887.                             </xsl:choose>
  2888.                         </xsl:when>
  2889.                         <xsl:otherwise>
  2890.                             <xsl:choose>
  2891.                                 <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  2892.                                     <xsl:value-of select="$lastrowpos + ./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª + 1"/>
  2893.                                 </xsl:when>
  2894.                                 <xsl:otherwise>
  2895.                                     <xsl:value-of select="$lastrowpos + 1"/>
  2896.                                 </xsl:otherwise>
  2897.                             </xsl:choose>
  2898.                         </xsl:otherwise>
  2899.                     </xsl:choose>
  2900.                 </xsl:variable>
  2901.                 <xsl:if test="./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª/@Φí¿:ΦíîσÅ╖ > ($last-pos - 1) or ../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû">
  2902.                     <xsl:variable name="condition-row-max">
  2903.                         <xsl:call-template name="condition-row-col-pos-max">
  2904.                             <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2905.                             <xsl:with-param name="last-value" select="0"/>
  2906.                             <xsl:with-param name="div-value" select="'R'"/>
  2907.                         </xsl:call-template>
  2908.                     </xsl:variable>
  2909.                     <xsl:variable name="condition-col-max">
  2910.                         <xsl:call-template name="condition-row-col-pos-max">
  2911.                             <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2912.                             <xsl:with-param name="last-value" select="0"/>
  2913.                             <xsl:with-param name="div-value" select="'C'"/>
  2914.                         </xsl:call-template>
  2915.                     </xsl:variable>
  2916.                     <xsl:variable name="break-row-max">
  2917.                         <xsl:call-template name="break-row-beyond-max">
  2918.                             <xsl:with-param name="pos" select="1"/>
  2919.                             <xsl:with-param name="last-value" select="0"/>
  2920.                             <xsl:with-param name="count-value" select="count(./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:ΦíîσÅ╖])"/>
  2921.                         </xsl:call-template>
  2922.                     </xsl:variable>
  2923.                     <xsl:variable name="end-value">
  2924.                         <xsl:choose>
  2925.                             <xsl:when test="$condition-row-max < $break-row-max">
  2926.                                 <xsl:value-of select="$break-row-max"/>
  2927.                             </xsl:when>
  2928.                             <xsl:otherwise>
  2929.                                 <xsl:value-of select="$condition-row-max"/>
  2930.                             </xsl:otherwise>
  2931.                         </xsl:choose>
  2932.                     </xsl:variable>
  2933.                     <xsl:call-template name="get-row-beyond-last">
  2934.                         <xsl:with-param name="index-value" select="$last-pos + 1"/>
  2935.                         <xsl:with-param name="worksheetNo" select="count(preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  2936.                         <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  2937.                         <xsl:with-param name="end-pos" select="$end-value"/>
  2938.                         <xsl:with-param name="total-col" select="$condition-col-max"/>
  2939.                     </xsl:call-template>
  2940.                 </xsl:if>
  2941.                 <xsl:if test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:σêù[@Φí¿:σ╝ŵá╖σ╝òτö¿] or ./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣[@Φí¿:σ╝ŵá╖σ╝òτö¿]">
  2942.                     <table:table-row table:style-name="ro1" table:number-rows-repeated="31990">
  2943.                         <table:table-cell table:number-columns-repeated="256"/>
  2944.                     </table:table-row>
  2945.                     <table:table-row table:style-name="ro1">
  2946.                         <table:table-cell table:number-columns-repeated="256"/>
  2947.                     </table:table-row>
  2948.                 </xsl:if>
  2949.             </xsl:when>
  2950.         </xsl:choose>
  2951.     </xsl:template>
  2952.     <!--    add row-group       2.6-->
  2953.     <xsl:template name="table:table-row-group">
  2954.         <xsl:param name="start"/>
  2955.         <xsl:param name="end"/>
  2956.         <xsl:variable name="start1" select="@Φí¿:Φ╡╖σºï"/>
  2957.         <xsl:variable name="end1" select="@Φí¿:τ╗굡ó"/>
  2958.         <xsl:variable name="nextstart" select="following-sibling::Φí¿:Φíî/@Φí¿:Φ╡╖σºï"/>
  2959.         <xsl:variable name="nextend" select="following-sibling::Φí¿:Φíî/@Φí¿:τ╗굡ó"/>
  2960.         <xsl:variable name="prestart" select="preceding-sibling::Φí¿:Φíî/@Φí¿:Φ╡╖σºï"/>
  2961.         <xsl:variable name="preend" select="preceding-sibling::Φí¿:Φíî/@Φí¿:τ╗굡ó"/>
  2962.         <xsl:variable name="numrow" select="$end1 - $start1"/>
  2963.         <xsl:variable name="position" select="position()"/>
  2964.         <xsl:choose>
  2965.             <xsl:when test="$nextstart >= $start1 and $nextend <= $end1">
  2966.                 <table:table-row-group>
  2967.                     <xsl:call-template name="creategroup"/>
  2968.                 </table:table-row-group>
  2969.             </xsl:when>
  2970.             <xsl:when test="$nextstart >= $end1">
  2971.                 <xsl:choose>
  2972.                     <xsl:when test="$nextend <=$preend">
  2973.                         <xsl:call-template name="row">
  2974.                             <xsl:with-param name="start1" select="$start1"/>
  2975.                             <xsl:with-param name="end1" select="$end1"/>
  2976.                             <xsl:with-param name="nextstart" select="$nextstart"/>
  2977.                             <xsl:with-param name="nextend" select="$nextend"/>
  2978.                             <xsl:with-param name="prestart" select="$prestart"/>
  2979.                             <xsl:with-param name="preend" select="$preend"/>
  2980.                         </xsl:call-template>
  2981.                     </xsl:when>
  2982.                     <xsl:otherwise>
  2983.                         <xsl:call-template name="levelgroup"/>
  2984.                     </xsl:otherwise>
  2985.                 </xsl:choose>
  2986.             </xsl:when>
  2987.             <xsl:otherwise>
  2988.                 <xsl:call-template name="row">
  2989.                     <xsl:with-param name="start1" select="$start1"/>
  2990.                     <xsl:with-param name="end1" select="$end1"/>
  2991.                     <xsl:with-param name="nextstart" select="$nextstart"/>
  2992.                     <xsl:with-param name="nextend" select="$nextend"/>
  2993.                     <xsl:with-param name="prestart" select="$prestart"/>
  2994.                     <xsl:with-param name="preend" select="$preend"/>
  2995.                 </xsl:call-template>
  2996.             </xsl:otherwise>
  2997.         </xsl:choose>
  2998.     </xsl:template>
  2999.     <xsl:template name="levelrowgroup">
  3000.         <xsl:param name="start"/>
  3001.         <xsl:param name="end"/>
  3002.         <xsl:variable name="start1" select="@Φí¿:Φ╡╖σºï"/>
  3003.         <xsl:variable name="end1" select="@Φí¿:τ╗굡ó"/>
  3004.         <xsl:variable name="nextstart" select="following-sibling::Φí¿:Φíî/@Φí¿:Φ╡╖σºï"/>
  3005.         <xsl:variable name="nextend" select="following-sibling::Φí¿:Φíî/@Φí¿:τ╗굡ó"/>
  3006.         <xsl:variable name="prestart" select="preceding-sibling::Φí¿:Φíî/@Φí¿:Φ╡╖σºï"/>
  3007.         <xsl:variable name="preend" select="preceding-sibling::Φí¿:Φíî/@Φí¿:τ╗굡ó"/>
  3008.         <xsl:variable name="numrow" select="$end1 - $start1"/>
  3009.         <xsl:variable name="position" select="position()"/>
  3010.         <xsl:call-template name="row">
  3011.             <xsl:with-param name="start1" select="$start1"/>
  3012.             <xsl:with-param name="end1" select="$end1"/>
  3013.             <xsl:with-param name="nextstart" select="$nextstart"/>
  3014.             <xsl:with-param name="nextend" select="$nextend"/>
  3015.             <xsl:with-param name="prestart" select="$prestart"/>
  3016.             <xsl:with-param name="preend" select="$preend"/>
  3017.         </xsl:call-template>
  3018.     </xsl:template>
  3019.     <xsl:template name="creategroup">
  3020.         <xsl:for-each select="following-sibling::Φí¿:Φíî">
  3021.             <xsl:variable name="start1" select="@Φí¿:Φ╡╖σºï"/>
  3022.             <xsl:variable name="end1" select="@Φí¿:τ╗굡ó"/>
  3023.             <xsl:variable name="nextstart" select="following-sibling::Φí¿:Φíî/@Φí¿:Φ╡╖σºï"/>
  3024.             <xsl:variable name="nextend" select="following-sibling::Φí¿:Φíî/@Φí¿:τ╗굡ó"/>
  3025.             <xsl:variable name="prestart" select="preceding-sibling::Φí¿:Φíî/@Φí¿:Φ╡╖σºï"/>
  3026.             <xsl:variable name="preend" select="preceding-sibling::Φí¿:Φíî/@Φí¿:τ╗굡ó"/>
  3027.             <xsl:if test="$start1 >= $prestart and $end1 <= $preend">
  3028.                 <xsl:call-template name="table:table-row-group"/>
  3029.             </xsl:if>
  3030.         </xsl:for-each>
  3031.     </xsl:template>
  3032.     <xsl:template name="levelgroup">
  3033.         <xsl:for-each select="parent::Φí¿:σêåτ╗äΘ¢å/Φí¿:Φíî">
  3034.             <xsl:call-template name="levelrowgroup"/>
  3035.         </xsl:for-each>
  3036.     </xsl:template>
  3037.     <xsl:template name="row">
  3038.         <xsl:param name="start1"/>
  3039.         <xsl:param name="end1"/>
  3040.         <xsl:param name="nextstart"/>
  3041.         <xsl:param name="nextend"/>
  3042.         <xsl:param name="prestart"/>
  3043.         <xsl:param name="preend"/>
  3044.         <xsl:for-each select="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[@Φí¿:ΦíîσÅ╖]">
  3045.             <xsl:variable name="rownum" select="@Φí¿:ΦíîσÅ╖"/>
  3046.             <xsl:variable name="aa" select="$start1 - $prestart"/>
  3047.             <xsl:if test="$rownum >= $prestart and $rownum <= ($prestart + $aa - 1) and $start1 <= $preend">
  3048.                 <table:table-row>
  3049.                     <xsl:attribute name="table:style-name"><xsl:value-of select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  3050.                     <xsl:call-template name="celldata"/>
  3051.                 </table:table-row>
  3052.             </xsl:if>
  3053.         </xsl:for-each>
  3054.         <xsl:for-each select="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[@Φí¿:ΦíîσÅ╖]">
  3055.             <xsl:variable name="rownum" select="@Φí¿:ΦíîσÅ╖"/>
  3056.             <xsl:variable name="ss" select="$start1 - $preend"/>
  3057.             <xsl:if test="$rownum >= ($preend +1) and $rownum <= ($preend + $ss - 1) and $start1 >= $preend">
  3058.                 <table:table-row>
  3059.                     <xsl:attribute name="table:style-name"><xsl:value-of select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  3060.                     <xsl:call-template name="celldata"/>
  3061.                 </table:table-row>
  3062.             </xsl:if>
  3063.         </xsl:for-each>
  3064.         <table:table-row-group>
  3065.             <xsl:for-each select="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[@Φí¿:ΦíîσÅ╖]">
  3066.                 <xsl:variable name="rownum" select="@Φí¿:ΦíîσÅ╖"/>
  3067.                 <xsl:if test="$rownum <= $end1">
  3068.                     <xsl:if test="$rownum >= $start1">
  3069.                         <table:table-row>
  3070.                             <xsl:attribute name="table:style-name"><xsl:value-of select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  3071.                             <xsl:call-template name="celldata"/>
  3072.                         </table:table-row>
  3073.                     </xsl:if>
  3074.                 </xsl:if>
  3075.             </xsl:for-each>
  3076.         </table:table-row-group>
  3077.         <xsl:for-each select="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[@Φí¿:ΦíîσÅ╖]">
  3078.             <xsl:variable name="rownum" select="@Φí¿:ΦíîσÅ╖"/>
  3079.             <xsl:variable name="bb" select="$preend - $end1"/>
  3080.             <xsl:if test="$rownum >= ($end1 + 1) and $rownum <= ($end1 + $bb) and $start1 < $preend">
  3081.                 <table:table-row>
  3082.                     <xsl:attribute name="table:style-name"><xsl:value-of select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  3083.                     <xsl:call-template name="celldata"/>
  3084.                 </table:table-row>
  3085.             </xsl:if>
  3086.         </xsl:for-each>
  3087.     </xsl:template>
  3088.     <xsl:template name="celldata">
  3089.             <xsl:for-each select="./Φí¿:σìòσàâµá╝">
  3090.             <table:table-cell>
  3091.                 <xsl:choose>
  3092.                     <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'number'">
  3093.                         <xsl:attribute name="office:value-type">float</xsl:attribute>
  3094.                         <xsl:attribute name="office:value"><xsl:choose><xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"><xsl:value-of select="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"/></xsl:when><xsl:otherwise><xsl:value-of select="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/></xsl:otherwise></xsl:choose></xsl:attribute>
  3095.                     </xsl:when>
  3096.                     <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'date'">
  3097.                         <xsl:attribute name="office:value-type">date</xsl:attribute>
  3098.                         <xsl:attribute name="table:date-value"><xsl:value-of select="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  3099.                     </xsl:when>
  3100.                     <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'time'">
  3101.                         <xsl:attribute name="office:value-type">time</xsl:attribute>
  3102.                         <xsl:attribute name="table:time-value"><xsl:value-of select="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  3103.                     </xsl:when>
  3104.                     <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'boolean'">
  3105.                         <xsl:attribute name="office:value-type">boolean</xsl:attribute>
  3106.                         <xsl:attribute name="table:boolean-value"><xsl:choose><xsl:when test="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓ = '1'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute>
  3107.                     </xsl:when>
  3108.                     <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'text'">
  3109.                         <xsl:attribute name="office:value-type">string</xsl:attribute>
  3110.                         <xsl:attribute name="table:string-value"><xsl:value-of select="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  3111.                     </xsl:when>
  3112.                 </xsl:choose>
  3113.                 <xsl:if test="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓">
  3114.                     <text:p>
  3115.                         <xsl:value-of select="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/>
  3116.                     </text:p>
  3117.                 </xsl:if>
  3118.             </table:table-cell>
  3119.         </xsl:for-each>
  3120.     </xsl:template>
  3121.     <!-- add row-group 2.8 -->
  3122.     <xsl:template name="create-row">
  3123.         <xsl:param name="index-value"/>
  3124.         <xsl:param name="span-value"/>
  3125.         <xsl:param name="worksheetNo"/>
  3126.         <xsl:param name="row-value"/>
  3127.         <xsl:param name="times"/>
  3128.         <xsl:param name="current-index"/>
  3129.         <xsl:param name="condition-pos-str"/>
  3130.         <xsl:element name="table:table-row">
  3131.             <xsl:choose>
  3132.                 <xsl:when test="./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª/@Φí¿:ΦíîσÅ╖ = ($index-value + $times - 1)">
  3133.                     <xsl:choose>
  3134.                         <xsl:when test="($index-value + $times < $current-index) and ($current-index != 0)">
  3135.                             <xsl:attribute name="table:style-name"><xsl:value-of select="concat('rob',$worksheetNo)"/></xsl:attribute>
  3136.                         </xsl:when>
  3137.                         <xsl:otherwise>
  3138.                             <xsl:attribute name="table:style-name"><xsl:value-of select="concat('rob', $worksheetNo, '-', $row-value)"/></xsl:attribute>
  3139.                         </xsl:otherwise>
  3140.                     </xsl:choose>
  3141.                 </xsl:when>
  3142.                 <xsl:otherwise>
  3143.                     <xsl:choose>
  3144.                         <xsl:when test="($index-value + $times < $current-index) and ($current-index != 0)">
  3145.                             <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ro',$worksheetNo)"/></xsl:attribute>
  3146.                         </xsl:when>
  3147.                         <xsl:otherwise>
  3148.                             <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ro', $worksheetNo, '-', $row-value)"/></xsl:attribute>
  3149.                         </xsl:otherwise>
  3150.                     </xsl:choose>
  3151.                 </xsl:otherwise>
  3152.             </xsl:choose>
  3153.             <!--chengxiuzhi0617-->
  3154.             <xsl:if test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $row-value]/@Φí¿:ΘÜÉΦùÅ = 'true'">
  3155.                 <xsl:choose>
  3156.                     <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $row-value]/@Φí¿:Φ╖¿σ║ª">
  3157.                         <xsl:if test="$index-value + $times > ($current-index - 1)">
  3158.                             <xsl:attribute name="table:visibility">collapse</xsl:attribute>
  3159.                         </xsl:if>
  3160.                     </xsl:when>
  3161.                     <xsl:otherwise>
  3162.                         <xsl:if test="$index-value + $times = $current-index">
  3163.                             <xsl:attribute name="table:visibility">collapse</xsl:attribute>
  3164.                         </xsl:if>
  3165.                     </xsl:otherwise>
  3166.                 </xsl:choose>
  3167.             </xsl:if>
  3168.             <xsl:choose>
  3169.                 <xsl:when test="not(./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $row-value]/*)">
  3170.                     <table:table-cell>
  3171.                         <xsl:for-each select="./Φí¿:σìòσàâµá╝/Φí¿:µò░µì«">
  3172.                             <xsl:choose>
  3173.                                 <xsl:when test="@Φí¿:µò░µì«τ▒╗σ₧ï = 'number'">
  3174.                                     <xsl:attribute name="office:value-type">float</xsl:attribute>
  3175.                                     <xsl:attribute name="office:value"><xsl:choose><xsl:when test="@Φí¿:µò░µì«µò░σÇ╝"><xsl:value-of select="@Φí¿:µò░µì«µò░σÇ╝"/></xsl:when><xsl:otherwise><xsl:value-of select="σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/></xsl:otherwise></xsl:choose></xsl:attribute>
  3176.                                 </xsl:when>
  3177.                                 <xsl:when test="@Φí¿:µò░µì«τ▒╗σ₧ï = 'date'">
  3178.                                     <xsl:attribute name="office:value-type">date</xsl:attribute>
  3179.                                     <xsl:attribute name="table:date-value"><xsl:value-of select="@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  3180.                                 </xsl:when>
  3181.                                 <xsl:when test="@Φí¿:µò░µì«τ▒╗σ₧ï = 'time'">
  3182.                                     <xsl:attribute name="office:value-type">time</xsl:attribute>
  3183.                                     <xsl:attribute name="table:time-value"><xsl:value-of select="@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  3184.                                 </xsl:when>
  3185.                                 <xsl:when test="@Φí¿:µò░µì«τ▒╗σ₧ï = 'boolean'">
  3186.                                     <xsl:attribute name="office:value-type">boolean</xsl:attribute>
  3187.                                     <xsl:attribute name="table:boolean-value"><xsl:choose><xsl:when test="σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓ = '1'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute>
  3188.                                 </xsl:when>
  3189.                                 <xsl:when test="@Φí¿:µò░µì«τ▒╗σ₧ï = 'text'">
  3190.                                     <xsl:attribute name="office:value-type">string</xsl:attribute>
  3191.                                     <xsl:attribute name="table:string-value"><xsl:value-of select="@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  3192.                                 </xsl:when>
  3193.                             </xsl:choose>
  3194.                             <xsl:if test="σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓">
  3195.                                 <text:p>
  3196.                                     <xsl:value-of select="σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/>
  3197.                                 </text:p>
  3198.                             </xsl:if>
  3199.                         </xsl:for-each>
  3200.                     </table:table-cell>
  3201.                 </xsl:when>
  3202.                 <xsl:otherwise>
  3203.                     <xsl:choose>
  3204.                         <xsl:when test="$index-value + $times < $current-index">
  3205.                             <xsl:variable name="current" select="concat('R',($index-value + $times),'C')"/>
  3206.                             <xsl:variable name="col-pos-max">
  3207.                                 <xsl:call-template name="condition-row-col-pos-max">
  3208.                                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3209.                                     <xsl:with-param name="last-value" select="0"/>
  3210.                                     <xsl:with-param name="div-value" select="'C'"/>
  3211.                                 </xsl:call-template>
  3212.                             </xsl:variable>
  3213.                             <xsl:choose>
  3214.                                 <xsl:when test="contains($condition-pos-str,$current)">
  3215.                                     <xsl:call-template name="get-cell-span-in">
  3216.                                         <xsl:with-param name="row-pos" select="$index-value + $times"/>
  3217.                                         <xsl:with-param name="c-start" select="1"/>
  3218.                                         <xsl:with-param name="c-end" select="$col-pos-max"/>
  3219.                                         <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3220.                                     </xsl:call-template>
  3221.                                 </xsl:when>
  3222.                                 <xsl:otherwise>
  3223.                                     <table:table-cell/>
  3224.                                 </xsl:otherwise>
  3225.                             </xsl:choose>
  3226.                         </xsl:when>
  3227.                         <xsl:when test="$index-value + $times = $current-index">
  3228.                             <xsl:apply-templates select="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position() = $row-value]" mode="selected">
  3229.                                 <xsl:with-param name="row-pos" select="$index-value + $times"/>
  3230.                                 <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3231.                             </xsl:apply-templates>
  3232.                         </xsl:when>
  3233.                         <xsl:otherwise>
  3234.                             <table:table-cell/>
  3235.                         </xsl:otherwise>
  3236.                     </xsl:choose>
  3237.                 </xsl:otherwise>
  3238.             </xsl:choose>
  3239.         </xsl:element>
  3240.         <xsl:if test="$times < $span-value">
  3241.             <xsl:call-template name="create-row">
  3242.                 <xsl:with-param name="index-value" select="$index-value"/>
  3243.                 <xsl:with-param name="span-value" select="$span-value"/>
  3244.                 <xsl:with-param name="worksheetNo" select="$worksheetNo"/>
  3245.                 <xsl:with-param name="row-value" select="$row-value"/>
  3246.                 <xsl:with-param name="times" select="$times + 1"/>
  3247.                 <xsl:with-param name="current-index" select="$current-index"/>
  3248.                 <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3249.             </xsl:call-template>
  3250.         </xsl:if>
  3251.     </xsl:template>
  3252.     <xsl:template name="condition-row-col-pos-max">
  3253.         <xsl:param name="condition-pos-str"/>
  3254.         <xsl:param name="last-value"/>
  3255.         <xsl:param name="div-value"/>
  3256.         <xsl:variable name="pre-value">
  3257.             <xsl:choose>
  3258.                 <xsl:when test="$div-value = 'R'">
  3259.                     <xsl:value-of select="substring-before(substring-after($condition-pos-str,$div-value),'C')"/>
  3260.                 </xsl:when>
  3261.                 <xsl:otherwise>
  3262.                     <xsl:value-of select="substring-before(substring-after($condition-pos-str,$div-value),',')"/>
  3263.                 </xsl:otherwise>
  3264.             </xsl:choose>
  3265.         </xsl:variable>
  3266.         <xsl:variable name="end-value">
  3267.             <xsl:choose>
  3268.                 <xsl:when test="$last-value < $pre-value">
  3269.                     <xsl:value-of select="$pre-value"/>
  3270.                 </xsl:when>
  3271.                 <xsl:otherwise>
  3272.                     <xsl:value-of select="$last-value"/>
  3273.                 </xsl:otherwise>
  3274.             </xsl:choose>
  3275.         </xsl:variable>
  3276.         <xsl:choose>
  3277.             <xsl:when test="contains($condition-pos-str,$div-value)">
  3278.                 <xsl:call-template name="condition-row-col-pos-max">
  3279.                     <xsl:with-param name="condition-pos-str" select="substring-after($condition-pos-str,$div-value)"/>
  3280.                     <xsl:with-param name="last-value" select="$end-value"/>
  3281.                     <xsl:with-param name="div-value" select="$div-value"/>
  3282.                 </xsl:call-template>
  3283.             </xsl:when>
  3284.             <xsl:otherwise>
  3285.                 <xsl:value-of select="$end-value"/>
  3286.             </xsl:otherwise>
  3287.         </xsl:choose>
  3288.     </xsl:template>
  3289.     <xsl:template name="break-row-beyond-max">
  3290.         <xsl:param name="pos"/>
  3291.         <xsl:param name="last-value"/>
  3292.         <xsl:param name="count-value"/>
  3293.         <xsl:variable name="pre-value" select="./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖ and (position() = $pos)]/@Φí¿:σêùσÅ╖"/>
  3294.         <xsl:variable name="end-value">
  3295.             <xsl:choose>
  3296.                 <xsl:when test="$last-value < $pre-value">
  3297.                     <xsl:value-of select="$pre-value"/>
  3298.                 </xsl:when>
  3299.                 <xsl:otherwise>
  3300.                     <xsl:value-of select="$last-value"/>
  3301.                 </xsl:otherwise>
  3302.             </xsl:choose>
  3303.         </xsl:variable>
  3304.         <xsl:choose>
  3305.             <xsl:when test="$pos < $count-value">
  3306.                 <xsl:call-template name="break-row-beyond-max">
  3307.                     <xsl:with-param name="pos" select="$pos + 1"/>
  3308.                     <xsl:with-param name="last-value" select="$end-value"/>
  3309.                     <xsl:with-param name="count-value" select="$count-value"/>
  3310.                 </xsl:call-template>
  3311.             </xsl:when>
  3312.             <xsl:otherwise>
  3313.                 <xsl:value-of select="$end-value"/>
  3314.             </xsl:otherwise>
  3315.         </xsl:choose>
  3316.     </xsl:template>
  3317.     <xsl:template name="get-row-beyond-last">
  3318.         <xsl:param name="index-value"/>
  3319.         <xsl:param name="worksheetNo"/>
  3320.         <xsl:param name="condition-pos-str"/>
  3321.         <xsl:param name="end-pos"/>
  3322.         <xsl:param name="total-col"/>
  3323.         <xsl:variable name="current" select="concat('R',$index-value)"/>
  3324.         <xsl:element name="table:table-row">
  3325.             <xsl:choose>
  3326.                 <xsl:when test="./Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª/@ΦíîσÅ╖ = ($index-value - 1)">
  3327.                     <xsl:attribute name="table:style-name"><xsl:value-of select="concat('rob',$worksheetNo)"/></xsl:attribute>
  3328.                 </xsl:when>
  3329.                 <xsl:otherwise>
  3330.                     <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ro',$worksheetNo)"/></xsl:attribute>
  3331.                 </xsl:otherwise>
  3332.             </xsl:choose>
  3333.             <xsl:choose>
  3334.                 <xsl:when test="contains($condition-pos-str,$current)">
  3335.                     <xsl:call-template name="get-cell-span-in">
  3336.                         <xsl:with-param name="row-pos" select="$index-value"/>
  3337.                         <xsl:with-param name="c-start" select="1"/>
  3338.                         <xsl:with-param name="c-end" select="$total-col"/>
  3339.                         <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3340.                     </xsl:call-template>
  3341.                 </xsl:when>
  3342.                 <xsl:otherwise>
  3343.                     <table:table-cell/>
  3344.                 </xsl:otherwise>
  3345.             </xsl:choose>
  3346.         </xsl:element>
  3347.         <xsl:if test="$index-value < ($end-pos + 1)">
  3348.             <xsl:call-template name="get-row-beyond-last">
  3349.                 <xsl:with-param name="index-value" select="$index-value + 1"/>
  3350.                 <xsl:with-param name="worksheetNo" select="$worksheetNo"/>
  3351.                 <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3352.                 <xsl:with-param name="end-pos" select="$end-pos"/>
  3353.                 <xsl:with-param name="total-col" select="$total-col"/>
  3354.             </xsl:call-template>
  3355.         </xsl:if>
  3356.     </xsl:template>
  3357.     <xsl:template name="get-cell-span-in">
  3358.         <xsl:param name="row-pos"/>
  3359.         <xsl:param name="c-start"/>
  3360.         <xsl:param name="c-end"/>
  3361.         <xsl:param name="condition-pos-str"/>
  3362.         <xsl:variable name="current" select="concat('R',$row-pos,'C',$c-start,',')"/>
  3363.         <xsl:variable name="style-name">
  3364.             <xsl:choose>
  3365.                 <xsl:when test="contains($condition-pos-str,$current)">
  3366.                     <xsl:variable name="temp-str">
  3367.                         <xsl:call-template name="condition-str">
  3368.                             <xsl:with-param name="param-str" select="substring-before($condition-pos-str,$current)"/>
  3369.                         </xsl:call-template>
  3370.                     </xsl:variable>
  3371.                     <xsl:choose>
  3372.                         <xsl:when test="starts-with($temp-str, 'c')">
  3373.                             <xsl:value-of select="concat('ce', substring-after($temp-str, 'c'))"/>
  3374.                         </xsl:when>
  3375.                         <xsl:when test="starts-with($temp-str, 'v')">
  3376.                             <xsl:value-of select="concat('val', substring-after($temp-str, 'v'))"/>
  3377.                         </xsl:when>
  3378.                     </xsl:choose>
  3379.                 </xsl:when>
  3380.                 <xsl:otherwise>
  3381.                     <xsl:choose>
  3382.                         <xsl:when test="../Φí¿:σìòσàâµá╝[position() = position() - 1]/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  3383.                             <xsl:value-of select="../Φí¿:σìòσàâµá╝[position() = position() - 1]/@Φí¿:σ╝ŵá╖σ╝òτö¿ "/>
  3384.                         </xsl:when>
  3385.                         <xsl:when test="../@Φí¿:σ╝ŵá╖σ╝òτö¿">
  3386.                             <xsl:value-of select="../@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  3387.                         </xsl:when>
  3388.                         <xsl:otherwise>
  3389.                             <xsl:value-of select="'Default'"/>
  3390.                         </xsl:otherwise>
  3391.                     </xsl:choose>
  3392.                 </xsl:otherwise>
  3393.             </xsl:choose>
  3394.         </xsl:variable>
  3395.         <xsl:choose>
  3396.             <xsl:when test="$c-start < $c-end">
  3397.                 <xsl:call-template name="get-cell-condition-in">
  3398.                     <xsl:with-param name="style-name" select="$style-name"/>
  3399.                 </xsl:call-template>
  3400.                 <xsl:call-template name="get-cell-span-in">
  3401.                     <xsl:with-param name="row-pos" select="$row-pos"/>
  3402.                     <xsl:with-param name="c-start" select="$c-start + 1"/>
  3403.                     <xsl:with-param name="c-end" select="$c-end"/>
  3404.                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3405.                 </xsl:call-template>
  3406.             </xsl:when>
  3407.             <xsl:when test="$c-start = $c-end">
  3408.                 <xsl:call-template name="get-cell-condition-in">
  3409.                     <xsl:with-param name="style-name" select="$style-name"/>
  3410.                 </xsl:call-template>
  3411.             </xsl:when>
  3412.             <xsl:otherwise>
  3413.                 <table:table-cell/>
  3414.             </xsl:otherwise>
  3415.         </xsl:choose>
  3416.     </xsl:template>
  3417.     <xsl:template name="get-cell-condition-in">
  3418.         <xsl:param name="style-name"/>
  3419.         <xsl:element name="table:table-cell">
  3420.             <xsl:if test="not( contains($style-name, 'Default'))">
  3421.                 <xsl:choose>
  3422.                     <xsl:when test="starts-with($style-name, 'val')">
  3423.                         <xsl:attribute name="table:content-validation-name"><xsl:value-of select="$style-name"/></xsl:attribute>
  3424.                     </xsl:when>
  3425.                     <xsl:when test="starts-with($style-name, 'ce')">
  3426.                         <xsl:attribute name="table:style-name"><xsl:value-of select="$style-name"/></xsl:attribute>
  3427.                     </xsl:when>
  3428.                     <xsl:otherwise>
  3429.                         <xsl:attribute name="table:style-name"><xsl:value-of select="$style-name"/></xsl:attribute>
  3430.                     </xsl:otherwise>
  3431.                 </xsl:choose>
  3432.             </xsl:if>
  3433.             <!--chengxiuzhi0617 σìòσàâµá╝-->
  3434.         </xsl:element>
  3435.     </xsl:template>
  3436.     <xsl:key match="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖]" name="ColBreak" use="Column"/>
  3437.     <xsl:template name="create-default-column">
  3438.         <xsl:param name="currentColumn"/>
  3439.         <xsl:param name="currentColumnNode"/>
  3440.         <xsl:param name="worksheetNo"/>
  3441.         <xsl:element name="table:table-column">
  3442.             <xsl:attribute name="table:default-cell-style-name"><xsl:call-template name="get-default-cell-style"><xsl:with-param name="currentColumnNode" select="$currentColumnNode"/></xsl:call-template></xsl:attribute>
  3443.             <xsl:choose>
  3444.                 <xsl:when test="key('ColBreak', $currentColumn)">
  3445.                     <xsl:attribute name="table:style-name"><xsl:value-of select="concat('cob',$worksheetNo)"/></xsl:attribute>
  3446.                 </xsl:when>
  3447.                 <xsl:otherwise>
  3448.                     <xsl:attribute name="table:style-name"><xsl:value-of select="concat('co',$worksheetNo)"/></xsl:attribute>
  3449.                 </xsl:otherwise>
  3450.             </xsl:choose>
  3451.             <!--chengxiuzhi0617τö¿keyσ░▒ΘöÖ-->
  3452.         </xsl:element>
  3453.     </xsl:template>
  3454.     <xsl:template name="get-default-cell-style">
  3455.         <xsl:param name="currentColumnNode"/>
  3456.         <xsl:choose>
  3457.             <xsl:when test="$currentColumnNode">
  3458.                 <xsl:choose>
  3459.                     <xsl:when test="$currentColumnNode/@Φí¿:σ╝ŵá╖σ╝òτö¿">
  3460.                         <xsl:value-of select="$currentColumnNode/@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  3461.                     </xsl:when>
  3462.                     <xsl:otherwise>Default</xsl:otherwise>
  3463.                 </xsl:choose>
  3464.             </xsl:when>
  3465.             <xsl:otherwise>
  3466.                 <xsl:choose>
  3467.                     <xsl:when test="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣[@Φí¿:σ╝ŵá╖σ╝òτö¿]">
  3468.                         <xsl:value-of select="./Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  3469.                     </xsl:when>
  3470.                     <xsl:otherwise>Default</xsl:otherwise>
  3471.                 </xsl:choose>
  3472.             </xsl:otherwise>
  3473.         </xsl:choose>
  3474.     </xsl:template>
  3475.     <xsl:template match="Φí¿:Φíî" mode="selected">
  3476.         <xsl:param name="row-pos"/>
  3477.         <xsl:param name="condition-pos-str"/>
  3478.         <xsl:choose>
  3479.             <xsl:when test="Φí¿:σìòσàâµá╝">
  3480.                 <xsl:apply-templates select="Φí¿:σìòσàâµá╝[1]" mode="selected">
  3481.                     <xsl:with-param name="row-pos" select="$row-pos"/>
  3482.                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3483.                     <xsl:with-param name="col-pos-max">
  3484.                         <xsl:call-template name="condition-row-col-pos-max">
  3485.                             <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3486.                             <xsl:with-param name="last-value" select="0"/>
  3487.                             <xsl:with-param name="div-value" select="'C'"/>
  3488.                         </xsl:call-template>
  3489.                     </xsl:with-param>
  3490.                     <xsl:with-param name="col-pos-before" select="0"/>
  3491.                 </xsl:apply-templates>
  3492.             </xsl:when>
  3493.             <xsl:otherwise>
  3494.                 <xsl:variable name="current" select="concat('R',$row-pos,'C')"/>
  3495.                 <xsl:choose>
  3496.                     <xsl:when test="contains($condition-pos-str,$current)">
  3497.                         <xsl:call-template name="get-cell-span-in">
  3498.                             <xsl:with-param name="row-pos" select="$row-pos"/>
  3499.                             <xsl:with-param name="c-start" select="1"/>
  3500.                             <xsl:with-param name="c-end">
  3501.                                 <xsl:call-template name="condition-row-col-pos-max">
  3502.                                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3503.                                     <xsl:with-param name="last-value" select="0"/>
  3504.                                     <xsl:with-param name="div-value" select="'C'"/>
  3505.                                 </xsl:call-template>
  3506.                             </xsl:with-param>
  3507.                             <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3508.                             <xsl:with-param name="col-pos" select="1"/>
  3509.                         </xsl:call-template>
  3510.                     </xsl:when>
  3511.                     <xsl:otherwise>
  3512.                         <table:table-cell/>
  3513.                     </xsl:otherwise>
  3514.                 </xsl:choose>
  3515.             </xsl:otherwise>
  3516.         </xsl:choose>
  3517.     </xsl:template>
  3518.     <xsl:template match="Φí¿:σìòσàâµá╝" mode="selected">
  3519.         <xsl:param name="condition-pos-str"/>
  3520.         <xsl:param name="col-pos-max"/>
  3521.         <xsl:param name="col-pos-before"/>
  3522.         <xsl:param name="row-pos"/>
  3523.         <xsl:param name="col-repeated" select="1"/>
  3524.         <xsl:variable name="col-pos">
  3525.             <xsl:choose>
  3526.                 <xsl:when test="@Φí¿:σêùσÅ╖">
  3527.                     <xsl:choose>
  3528.                         <xsl:when test="@Φí¿:σÉêσ╣╢σêùµò░">
  3529.                             <xsl:value-of select="@Φí¿:σÉêσ╣╢σêùµò░ + @Φí¿:σêùσÅ╖"/>
  3530.                         </xsl:when>
  3531.                         <xsl:otherwise>
  3532.                             <xsl:value-of select="@Φí¿:σêùσÅ╖"/>
  3533.                         </xsl:otherwise>
  3534.                     </xsl:choose>
  3535.                 </xsl:when>
  3536.                 <xsl:otherwise>
  3537.                     <xsl:choose>
  3538.                         <xsl:when test="@Φí¿:σÉêσ╣╢σêùµò░">
  3539.                             <xsl:value-of select="1 + @Φí¿:σÉêσ╣╢σêùµò░ + $col-pos-before"/>
  3540.                         </xsl:when>
  3541.                         <xsl:otherwise>
  3542.                             <xsl:value-of select="1 + $col-pos-before"/>
  3543.                         </xsl:otherwise>
  3544.                     </xsl:choose>
  3545.                 </xsl:otherwise>
  3546.             </xsl:choose>
  3547.         </xsl:variable>
  3548.         <xsl:variable name="next-cell" select="following-sibling::Φí¿:σìòσàâµá╝[1]"/>
  3549.         <xsl:variable name="maodian" select="boolean($next-cell/uof:ΘöÜτé╣)"/>
  3550.         <xsl:variable name="cell-is-repeatable" select="not(current()/*) and not($next-cell/*) and not($next-cell/text()) and (@Φí¿:σ╝ŵá╖σ╝òτö¿ = $next-cell/@Φí¿:σ╝ŵá╖σ╝òτö¿) and not($next-cell/@Φí¿:σêùσÅ╖)"/>
  3551.         <xsl:if test="$col-repeated = 1">
  3552.             <xsl:if test="@Φí¿:σêùσÅ╖  != ($col-pos-before + 1)">
  3553.                 <xsl:call-template name="get-cell-span-in">
  3554.                     <xsl:with-param name="row-pos" select="$row-pos"/>
  3555.                     <xsl:with-param name="c-start" select="$col-pos-before + 1"/>
  3556.                     <xsl:with-param name="c-end" select="@Φí¿:σêùσÅ╖ - 1"/>
  3557.                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3558.                 </xsl:call-template>
  3559.             </xsl:if>
  3560.             <xsl:element name="table:table-cell">
  3561.                 <xsl:call-template name="create-table-cell-attributes">
  3562.                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3563.                     <xsl:with-param name="col-pos-max" select="$col-pos-max"/>
  3564.                     <xsl:with-param name="col-pos" select="$col-pos"/>
  3565.                     <xsl:with-param name="row-pos" select="$row-pos"/>
  3566.                 </xsl:call-template>
  3567.                 <xsl:if test="$cell-is-repeatable">
  3568.                     <xsl:apply-templates select="$next-cell" mode="selected">
  3569.                         <xsl:with-param name="row-pos" select="$row-pos"/>
  3570.                         <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3571.                         <xsl:with-param name="col-pos-max" select="$col-pos-max"/>
  3572.                         <xsl:with-param name="col-pos-before" select="$col-pos + 1"/>
  3573.                         <xsl:with-param name="col-repeated" select="$col-repeated + 1"/>
  3574.                     </xsl:apply-templates>
  3575.                 </xsl:if>
  3576.                 <xsl:call-template name="create-table-cell-content">
  3577.                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3578.                     <xsl:with-param name="col-pos-max" select="$col-pos-max"/>
  3579.                     <xsl:with-param name="col-pos" select="$col-pos"/>
  3580.                     <xsl:with-param name="row-pos" select="$row-pos"/>
  3581.                 </xsl:call-template>
  3582.             </xsl:element>
  3583.             <xsl:if test="@Φí¿:σÉêσ╣╢σêùµò░">
  3584.                 <xsl:element name="table:covered-table-cell">
  3585.                     <xsl:if test="@Φí¿:σÉêσ╣╢σêùµò░ > 1">
  3586.                         <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="@Φí¿:σÉêσ╣╢σêùµò░"/></xsl:attribute>
  3587.                     </xsl:if>
  3588.                 </xsl:element>
  3589.             </xsl:if>
  3590.         </xsl:if>
  3591.         <xsl:choose>
  3592.             <xsl:when test="not($cell-is-repeatable and $col-repeated = 1)">
  3593.                 <xsl:choose>
  3594.                     <xsl:when test="not($cell-is-repeatable) and $col-repeated > 1">
  3595.                         <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$col-repeated"/></xsl:attribute>
  3596.                     </xsl:when>
  3597.                     <xsl:when test="not($next-cell)">
  3598.                         <xsl:if test="../../../../../Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µ¥íΣ╗╢µá╝σ╝ÅσîûΘ¢å/Φí¿:µ¥íΣ╗╢µá╝σ╝Åσîû">
  3599.                             <xsl:call-template name="get-cell-span-in">
  3600.                                 <xsl:with-param name="row-pos" select="$row-pos"/>
  3601.                                 <xsl:with-param name="c-start" select="$col-pos"/>
  3602.                                 <xsl:with-param name="c-end" select="$col-pos-max"/>
  3603.                                 <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3604.                             </xsl:call-template>
  3605.                         </xsl:if>
  3606.                     </xsl:when>
  3607.                     <xsl:when test="not($cell-is-repeatable)">
  3608.                         <xsl:apply-templates select="$next-cell" mode="selected">
  3609.                             <xsl:with-param name="row-pos" select="$row-pos"/>
  3610.                             <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3611.                             <xsl:with-param name="col-pos-max" select="$col-pos-max"/>
  3612.                             <xsl:with-param name="col-pos-before" select="$col-pos"/>
  3613.                         </xsl:apply-templates>
  3614.                     </xsl:when>
  3615.                     <xsl:otherwise>
  3616.                         <xsl:apply-templates select="$next-cell" mode="selected">
  3617.                             <xsl:with-param name="row-pos" select="$row-pos"/>
  3618.                             <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3619.                             <xsl:with-param name="col-pos-max" select="$col-pos-max"/>
  3620.                             <xsl:with-param name="col-pos-before" select="$col-pos"/>
  3621.                             <xsl:with-param name="col-repeated" select="$col-repeated + 1"/>
  3622.                         </xsl:apply-templates>
  3623.                     </xsl:otherwise>
  3624.                 </xsl:choose>
  3625.             </xsl:when>
  3626.             <xsl:otherwise>
  3627.                 <xsl:if test="$next-cell">
  3628.                     <xsl:apply-templates select="$next-cell" mode="skip">
  3629.                         <xsl:with-param name="row-pos" select="$row-pos"/>
  3630.                         <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  3631.                         <xsl:with-param name="col-pos-max" select="$col-pos-max"/>
  3632.                         <xsl:with-param name="col-pos-before" select="$col-pos"/>
  3633.                     </xsl:apply-templates>
  3634.                 </xsl:if>
  3635.             </xsl:otherwise>
  3636.         </xsl:choose>
  3637.     </xsl:template>
  3638.     <!--Redoffice comment liliang sc0012 06.02.15-->
  3639.     <!--µû░σó₧σåàσ«╣-->
  3640.     <xsl:template match="uof:ΘöÜτé╣">
  3641.         <xsl:variable name="tuxing1" select="@uof:σ¢╛σ╜óσ╝òτö¿"/>
  3642.         <xsl:choose>
  3643.             <xsl:when test="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$tuxing1]">
  3644.                 <xsl:if test="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$tuxing1]/@uof:σà¼σà▒τ▒╗σ₧ï='png' or /uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$tuxing1]/@uof:σà¼σà▒τ▒╗σ₧ï='ipg' or /uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$tuxing1]/@uof:σà¼σà▒τ▒╗σ₧ï='bmp' or /uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$tuxing1]/@uof:σà¼σà▒τ▒╗σ₧ï='gif'">
  3645.                     <xsl:element name="draw:frame">
  3646.                         <xsl:attribute name="draw:name"><xsl:variable name="pos"><xsl:value-of select="count(preceding::uof:ΘöÜτé╣)"/></xsl:variable><xsl:value-of select="concat('σ¢╛σ╜ó',$pos)"/></xsl:attribute>
  3647.                         <xsl:attribute name="svg:x"><xsl:value-of select="concat(@uof:xσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  3648.                         <xsl:attribute name="svg:y"><xsl:value-of select="concat(@uof:yσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  3649.                         <xsl:attribute name="svg:width"><xsl:value-of select="concat(@uof:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  3650.                         <xsl:attribute name="svg:height"><xsl:value-of select="concat(@uof:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  3651.                         <xsl:for-each select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó[@σ¢╛:µáçΦ»åτ¼ª = $tuxing1]">
  3652.                             <xsl:attribute name="draw:style-name"><xsl:value-of select="@σ¢╛:µáçΦ»åτ¼ª"/></xsl:attribute>
  3653.                             <xsl:attribute name="draw:z-index"><xsl:value-of select="@σ¢╛:σ▒éµ¼í"/></xsl:attribute>
  3654.                             <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª and not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª='0.0')">
  3655.                                 <xsl:variable name="rotate-angle">
  3656.                                     <xsl:value-of select="(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª * 2 * 3.14159265 ) div 360"/>
  3657.                                 </xsl:variable>
  3658.                                 <xsl:attribute name="draw:transform"><xsl:value-of select="concat('rotate (',$rotate-angle,') translate (-0.0194027777777778cm 3.317875cm)')"/></xsl:attribute>
  3659.                             </xsl:if>
  3660.                             <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣">
  3661.                                 <xsl:apply-templates select="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜"/>
  3662.                                 <xsl:apply-templates select="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µûçσ¡ùΦí¿"/>
  3663.                             </xsl:if>
  3664.                         </xsl:for-each>
  3665.                         <xsl:element name="draw:image">
  3666.                             <xsl:if test="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$tuxing1]/uof:Φ╖»σ╛ä">
  3667.                                 <xsl:attribute name="xlink:href"><xsl:value-of select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=    $tuxing1]/uof:Φ╖»σ╛ä"/></xsl:attribute>
  3668.                             </xsl:if>                        
  3669.                             <xsl:if test="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$tuxing1]/uof:µò░µì«">
  3670.                                 <office:binary-data>
  3671.                                     <xsl:value-of select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$tuxing1]/uof:µò░µì«"/>
  3672.                                 </office:binary-data>
  3673.                             </xsl:if>
  3674.                         </xsl:element>
  3675.                     </xsl:element>
  3676.                 </xsl:if>
  3677.             </xsl:when>
  3678.             <xsl:when test="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó[@σ¢╛:µáçΦ»åτ¼ª = $tuxing1]/σ¢╛:µûçµ£¼σåàσ«╣[@σ¢╛:µûçµ£¼µíå='true']">
  3679.                 <draw:text-box text:anchor-type="paragraph">
  3680.                     <xsl:attribute name="draw:style-name"><xsl:value-of select="$tuxing1"/></xsl:attribute>
  3681.                     <xsl:attribute name="svg:width"><xsl:value-of select="concat(@uof:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  3682.                     <xsl:attribute name="svg:height"><xsl:value-of select="concat(@uof:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  3683.                     <xsl:if test="@uof:xσ¥Éµáç">
  3684.                         <xsl:attribute name="svg:x"><xsl:value-of select="concat(@uof:xσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  3685.                     </xsl:if>
  3686.                     <xsl:if test="@uof:yσ¥Éµáç">
  3687.                         <xsl:attribute name="svg:y"><xsl:value-of select="concat(@uof:yσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  3688.                     </xsl:if>
  3689.                     <xsl:attribute name="draw:z-index"><xsl:value-of select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó/@σ¢╛:σ▒éµ¼í"/></xsl:attribute>
  3690.                     <xsl:apply-templates select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó[@σ¢╛:µáçΦ»åτ¼ª=$tuxing1]/σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜"/>
  3691.                     <xsl:apply-templates select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó[@σ¢╛:µáçΦ»åτ¼ª=$tuxing1]/σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µûçσ¡ùΦí¿"/>
  3692.                 </draw:text-box>
  3693.             </xsl:when>
  3694.             <xsl:otherwise>
  3695.                 <xsl:call-template name="graph">
  3696.                     <xsl:with-param name="id" select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó[@σ¢╛:µáçΦ»åτ¼ª=$tuxing1]"/>
  3697.                     <xsl:with-param name="groupx" select="0"/>
  3698.                     <xsl:with-param name="groupy" select="0"/>
  3699.                 </xsl:call-template>
  3700.             </xsl:otherwise>
  3701.         </xsl:choose>
  3702.     </xsl:template>
  3703.     <xsl:template name="graph">
  3704.         <xsl:param name="id"/>
  3705.         <xsl:param name="groupx"/>
  3706.         <xsl:param name="groupy"/>
  3707.         <xsl:for-each select="$id">
  3708.             <xsl:variable name="tuxing1">
  3709.                 <xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:τ▒╗σê½"/>
  3710.             </xsl:variable>
  3711.             <xsl:choose>
  3712.                 <xsl:when test="$tuxing1='11'">
  3713.                     <xsl:call-template name="Rectangle">
  3714.                         <xsl:with-param name="groupx1" select="$groupx"/>
  3715.                         <xsl:with-param name="groupy1" select="$groupy"/>
  3716.                     </xsl:call-template>
  3717.                 </xsl:when>
  3718.                 <xsl:when test="$tuxing1='19'">
  3719.                     <xsl:call-template name="Oval">
  3720.                         <xsl:with-param name="groupx1" select="$groupx"/>
  3721.                         <xsl:with-param name="groupy1" select="$groupy"/>
  3722.                     </xsl:call-template>
  3723.                 </xsl:when>
  3724.                 <xsl:when test="$tuxing1='61'">
  3725.                     <xsl:call-template name="Line">
  3726.                         <xsl:with-param name="groupx1" select="$groupx"/>
  3727.                         <xsl:with-param name="groupy1" select="$groupy"/>
  3728.                     </xsl:call-template>
  3729.                 </xsl:when>
  3730.                 <xsl:when test="$tuxing1='64'">
  3731.                     <xsl:call-template name="Curve">
  3732.                         <xsl:with-param name="groupx1" select="$groupx"/>
  3733.                         <xsl:with-param name="groupy1" select="$groupy"/>
  3734.                     </xsl:call-template>
  3735.                 </xsl:when>
  3736.                 <xsl:when test="$tuxing1='65'">
  3737.                     <xsl:call-template name="Freeform">
  3738.                         <xsl:with-param name="groupx1" select="$groupx"/>
  3739.                         <xsl:with-param name="groupy1" select="$groupy"/>
  3740.                     </xsl:call-template>
  3741.                 </xsl:when>
  3742.                 <xsl:when test="$tuxing1='66'">
  3743.                     <xsl:call-template name="Scribble">
  3744.                         <xsl:with-param name="groupx1" select="$groupx"/>
  3745.                         <xsl:with-param name="groupy1" select="$groupy"/>
  3746.                     </xsl:call-template>
  3747.                 </xsl:when>
  3748.                 <xsl:when test="$tuxing1='4'">
  3749.                     <xsl:element name="draw:g">
  3750.                         <xsl:variable name="tu">
  3751.                             <xsl:value-of select="@σ¢╛:µáçΦ»åτ¼ª"/>
  3752.                         </xsl:variable>
  3753.                         <xsl:attribute name="draw:style-name"><xsl:value-of select="$tu"/></xsl:attribute>
  3754.                         <xsl:attribute name="draw:z-index"><xsl:value-of select="@σ¢╛:σ▒éµ¼í"/></xsl:attribute>
  3755.                         <xsl:variable name="this-group-x">
  3756.                             <xsl:choose>
  3757.                                 <xsl:when test="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)/@uof:xσ¥Éµáç">
  3758.                                     <xsl:value-of select="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)/@uof:xσ¥Éµáç"/>
  3759.                                 </xsl:when>
  3760.                                 <xsl:otherwise>
  3761.                                     <xsl:value-of select="number(0)"/>
  3762.                                 </xsl:otherwise>
  3763.                             </xsl:choose>
  3764.                         </xsl:variable>
  3765.                         <xsl:variable name="this-group-y">
  3766.                             <xsl:choose>
  3767.                                 <xsl:when test="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)/@uof:yσ¥Éµáç">
  3768.                                     <xsl:value-of select="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)/@uof:yσ¥Éµáç"/>
  3769.                                 </xsl:when>
  3770.                                 <xsl:otherwise>
  3771.                                     <xsl:value-of select="number(0)"/>
  3772.                                 </xsl:otherwise>
  3773.                             </xsl:choose>
  3774.                         </xsl:variable>
  3775.                         <xsl:variable name="group-x">
  3776.                             <xsl:value-of select="number($groupx + $this-group-x)"/>
  3777.                         </xsl:variable>
  3778.                         <xsl:variable name="group-y">
  3779.                             <xsl:value-of select="number($groupy + $this-group-y)"/>
  3780.                         </xsl:variable>
  3781.                         <xsl:call-template name="τ╗äσÉêσ¢╛σ╜ó">
  3782.                             <xsl:with-param name="zuheliebiao" select="@σ¢╛:τ╗äσÉêσêùΦí¿"/>
  3783.                             <xsl:with-param name="groupx1" select="$group-x"/>
  3784.                             <xsl:with-param name="groupy1" select="$group-y"/>
  3785.                         </xsl:call-template>
  3786.                     </xsl:element>
  3787.                 </xsl:when>
  3788.             </xsl:choose>
  3789.         </xsl:for-each>
  3790.     </xsl:template>
  3791.     <xsl:template name="common">
  3792.         <xsl:param name="groupx"/>
  3793.         <xsl:param name="groupy"/>
  3794.         <xsl:variable name="tuxing">
  3795.             <xsl:value-of select="@σ¢╛:µáçΦ»åτ¼ª"/>
  3796.         </xsl:variable>
  3797.         <xsl:choose>
  3798.             <xsl:when test="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)/@uof:xσ¥Éµáç">
  3799.                 <xsl:for-each select="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)">
  3800.                     <xsl:if test="@uof:xσ¥Éµáç">
  3801.                         <xsl:attribute name="svg:x"><xsl:value-of select="concat(@uof:xσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  3802.                     </xsl:if>
  3803.                     <xsl:if test="@uof:yσ¥Éµáç">
  3804.                         <xsl:attribute name="svg:y"><xsl:value-of select="concat(@uof:yσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  3805.                     </xsl:if>
  3806.                     <xsl:variable name="tuxing1" select="@uof:σ¢╛σ╜óσ╝òτö¿"/>
  3807.                     <xsl:attribute name="svg:width"><xsl:value-of select="concat(@uof:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  3808.                     <xsl:attribute name="svg:height"><xsl:value-of select="concat(@uof:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  3809.                 </xsl:for-each>
  3810.             </xsl:when>
  3811.             <xsl:otherwise>
  3812.                 <xsl:variable name="zuheweizhi-x">
  3813.                     <xsl:value-of select="σ¢╛:τ╗äσÉêΣ╜ìτ╜«/@σ¢╛:xσ¥Éµáç"/>
  3814.                 </xsl:variable>
  3815.                 <xsl:variable name="zuheweizhi-y">
  3816.                     <xsl:value-of select="σ¢╛:τ╗äσÉêΣ╜ìτ╜«/@σ¢╛:yσ¥Éµáç"/>
  3817.                 </xsl:variable>
  3818.                 <xsl:attribute name="text:anchor-type">paragraph</xsl:attribute>
  3819.                 <xsl:attribute name="svg:x"><xsl:value-of select="concat(($groupx + $zuheweizhi-x),$uofUnit)"/></xsl:attribute>
  3820.                 <xsl:attribute name="svg:y"><xsl:value-of select="concat(($groupy + $zuheweizhi-y),$uofUnit)"/></xsl:attribute>
  3821.                 <xsl:attribute name="svg:width"><xsl:value-of select="concat(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  3822.                 <xsl:attribute name="svg:height"><xsl:value-of select="concat(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº /σ¢╛:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  3823.             </xsl:otherwise>
  3824.         </xsl:choose>
  3825.         <xsl:attribute name="draw:style-name"><xsl:value-of select="@σ¢╛:µáçΦ»åτ¼ª"/></xsl:attribute>
  3826.         <xsl:attribute name="draw:z-index"><xsl:value-of select="@σ¢╛:σ▒éµ¼í"/></xsl:attribute>
  3827.         <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª and not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª='0.0')">
  3828.             <xsl:variable name="rotate-angle">
  3829.                 <xsl:value-of select="(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª * 2 * 3.14159265 ) div 360"/>
  3830.             </xsl:variable>
  3831.             <xsl:attribute name="draw:transform"><xsl:value-of select="concat('rotate (',$rotate-angle,') translate (-0.0194027777777778cm 3.317875cm)')"/></xsl:attribute>
  3832.         </xsl:if>
  3833.         <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣">
  3834.             <xsl:apply-templates select="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜"/>
  3835.             <xsl:apply-templates select="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µûçσ¡ùΦí¿"/>
  3836.         </xsl:if>
  3837.     </xsl:template>
  3838.     <xsl:template name="τ╗äσÉêσ¢╛σ╜ó">
  3839.         <xsl:param name="zuheliebiao"/>
  3840.         <xsl:param name="groupx1"/>
  3841.         <xsl:param name="groupy1"/>
  3842.         <xsl:variable name="x">
  3843.             <xsl:value-of select="$groupx1"/>
  3844.         </xsl:variable>
  3845.         <xsl:variable name="y">
  3846.             <xsl:value-of select="$groupy1"/>
  3847.         </xsl:variable>
  3848.         <xsl:variable name="first-pictures">
  3849.             <xsl:value-of select="substring-before($zuheliebiao,',')"/>
  3850.         </xsl:variable>
  3851.         <xsl:variable name="other-pictures">
  3852.             <xsl:value-of select="substring-after($zuheliebiao,',')"/>
  3853.         </xsl:variable>
  3854.         <xsl:choose>
  3855.             <xsl:when test="contains($other-pictures,',')">
  3856.                 <xsl:call-template name="graph">
  3857.                     <xsl:with-param name="id" select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó[@σ¢╛:µáçΦ»åτ¼ª = $first-pictures]"/>
  3858.                     <xsl:with-param name="groupx" select="$groupx1"/>
  3859.                     <xsl:with-param name="groupy" select="$groupy1"/>
  3860.                 </xsl:call-template>
  3861.                 <xsl:call-template name="τ╗äσÉêσ¢╛σ╜ó">
  3862.                     <xsl:with-param name="zuheliebiao" select="$other-pictures"/>
  3863.                     <xsl:with-param name="groupx1" select="$x"/>
  3864.                     <xsl:with-param name="groupy1" select="$y"/>
  3865.                 </xsl:call-template>
  3866.             </xsl:when>
  3867.             <xsl:otherwise>
  3868.                 <xsl:call-template name="graph">
  3869.                     <xsl:with-param name="id" select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó[@σ¢╛:µáçΦ»åτ¼ª = $first-pictures]"/>
  3870.                     <xsl:with-param name="groupx" select="$groupx1"/>
  3871.                     <xsl:with-param name="groupy" select="$groupy1"/>
  3872.                 </xsl:call-template>
  3873.                 <xsl:call-template name="graph">
  3874.                     <xsl:with-param name="id" select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó[@σ¢╛:µáçΦ»åτ¼ª = $other-pictures]"/>
  3875.                     <xsl:with-param name="groupx" select="$groupx1"/>
  3876.                     <xsl:with-param name="groupy" select="$groupy1"/>
  3877.                 </xsl:call-template>
  3878.             </xsl:otherwise>
  3879.         </xsl:choose>
  3880.     </xsl:template>
  3881.     <xsl:template name="Curve">
  3882.         <xsl:param name="groupx1"/>
  3883.         <xsl:param name="groupy1"/>
  3884.         <xsl:element name="draw:path">
  3885.             <xsl:variable name="width" select="number(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σ«╜σ║ª)*1000"/>
  3886.             <xsl:variable name="height" select="number(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:Θ½ÿσ║ª)*1000"/>
  3887.             <xsl:attribute name="svg:viewBox"><xsl:value-of select="concat('0 0 ',$width, ' ',$height)"/></xsl:attribute>
  3888.             <xsl:attribute name="svg:d"><xsl:value-of select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σà│Θö«τé╣σ¥Éµáç/@σ¢╛:Φ╖»σ╛ä"/></xsl:attribute>
  3889.             <xsl:call-template name="common">
  3890.                 <xsl:with-param name="groupx" select="$groupx1"/>
  3891.                 <xsl:with-param name="groupy" select="$groupy1"/>
  3892.             </xsl:call-template>
  3893.         </xsl:element>
  3894.     </xsl:template>
  3895.     <xsl:template name="Freeform">
  3896.         <xsl:param name="groupx1"/>
  3897.         <xsl:param name="groupy1"/>
  3898.         <xsl:element name="draw:polygon">
  3899.             <xsl:variable name="width" select="number(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σ«╜σ║ª)*1000"/>
  3900.             <xsl:variable name="height" select="number(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:Θ½ÿσ║ª)*1000"/>
  3901.             <xsl:attribute name="svg:viewBox"><xsl:value-of select="concat('0 0 ',$width, ' ',$height)"/></xsl:attribute>
  3902.             <xsl:attribute name="draw:points"><xsl:call-template name="drawpoints"><xsl:with-param name="points" select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σà│Θö«τé╣σ¥Éµáç/@σ¢╛:Φ╖»σ╛ä"/><xsl:with-param name="value"/></xsl:call-template></xsl:attribute>
  3903.             <xsl:call-template name="common">
  3904.                 <xsl:with-param name="groupx" select="$groupx1"/>
  3905.                 <xsl:with-param name="groupy" select="$groupy1"/>
  3906.             </xsl:call-template>
  3907.         </xsl:element>
  3908.     </xsl:template>
  3909.     <xsl:template name="Scribble">
  3910.         <xsl:param name="groupx1"/>
  3911.         <xsl:param name="groupy1"/>
  3912.         <xsl:element name="draw:polyline">
  3913.             <xsl:variable name="width" select="number(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σ«╜σ║ª)*1000"/>
  3914.             <xsl:variable name="height" select="number(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:Θ½ÿσ║ª)*1000"/>
  3915.             <xsl:attribute name="svg:viewBox"><xsl:value-of select="concat('0 0 ',$width, ' ',$height)"/></xsl:attribute>
  3916.             <xsl:attribute name="draw:points"><xsl:call-template name="drawpoints"><xsl:with-param name="points" select="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σà│Θö«τé╣σ¥Éµáç/@σ¢╛:Φ╖»σ╛ä"/><xsl:with-param name="value"/></xsl:call-template></xsl:attribute>
  3917.             <xsl:call-template name="common">
  3918.                 <xsl:with-param name="groupx" select="$groupx1"/>
  3919.                 <xsl:with-param name="groupy" select="$groupy1"/>
  3920.             </xsl:call-template>
  3921.         </xsl:element>
  3922.     </xsl:template>
  3923.     <xsl:template name="drawpoints">
  3924.         <xsl:param name="points"/>
  3925.         <xsl:param name="value"/>
  3926.         <xsl:variable name="frist-piont">
  3927.             <xsl:value-of select="substring-before($points,'lineto')"/>
  3928.         </xsl:variable>
  3929.         <xsl:variable name="other-points">
  3930.             <xsl:value-of select="substring-after($points,'lineto')"/>
  3931.         </xsl:variable>
  3932.         <xsl:choose>
  3933.             <xsl:when test="contains($other-points,'lineto')">
  3934.                 <xsl:variable name="x-coor">
  3935.                     <xsl:value-of select="substring-before($frist-piont,' ') * 1000"/>
  3936.                 </xsl:variable>
  3937.                 <xsl:variable name="y-coor">
  3938.                     <xsl:value-of select="substring-after($frist-piont,' ') * 1000"/>
  3939.                 </xsl:variable>
  3940.                 <xsl:variable name="all-points">
  3941.                     <xsl:value-of select="concat($value,$x-coor,',',$y-coor,' ')"/>
  3942.                 </xsl:variable>
  3943.                 <xsl:call-template name="drawpoints">
  3944.                     <xsl:with-param name="points" select="$other-points"/>
  3945.                     <xsl:with-param name="value" select="$all-points"/>
  3946.                 </xsl:call-template>
  3947.             </xsl:when>
  3948.             <xsl:otherwise>
  3949.                 <xsl:variable name="q-x-coor">
  3950.                     <xsl:value-of select="substring-before($frist-piont,' ') * 1000"/>
  3951.                 </xsl:variable>
  3952.                 <xsl:variable name="q-y-coor">
  3953.                     <xsl:value-of select="substring-after($frist-piont,' ') * 1000"/>
  3954.                 </xsl:variable>
  3955.                 <xsl:variable name="e-x-coor">
  3956.                     <xsl:value-of select="substring-before($other-points,' ') * 1000"/>
  3957.                 </xsl:variable>
  3958.                 <xsl:variable name="e-y-coor">
  3959.                     <xsl:value-of select="substring-after($other-points,' ') * 1000"/>
  3960.                 </xsl:variable>
  3961.                 <xsl:value-of select="concat($value,$q-x-coor,',',$q-y-coor,' ',$e-x-coor,',',$e-y-coor)"/>
  3962.             </xsl:otherwise>
  3963.         </xsl:choose>
  3964.     </xsl:template>
  3965.     <xsl:template name="Oval">
  3966.         <xsl:param name="groupx1"/>
  3967.         <xsl:param name="groupy1"/>
  3968.         <xsl:element name="draw:ellipse">
  3969.             <xsl:call-template name="common">
  3970.                 <xsl:with-param name="groupx" select="$groupx1"/>
  3971.                 <xsl:with-param name="groupy" select="$groupy1"/>
  3972.             </xsl:call-template>
  3973.         </xsl:element>
  3974.     </xsl:template>
  3975.     <xsl:template name="Rectangle">
  3976.         <xsl:param name="groupx1"/>
  3977.         <xsl:param name="groupy1"/>
  3978.         <xsl:element name="draw:rect">
  3979.             <xsl:call-template name="common">
  3980.                 <xsl:with-param name="groupx" select="$groupx1"/>
  3981.                 <xsl:with-param name="groupy" select="$groupy1"/>
  3982.             </xsl:call-template>
  3983.         </xsl:element>
  3984.     </xsl:template>
  3985.     <xsl:template name="Line">
  3986.         <xsl:param name="groupx1"/>
  3987.         <xsl:param name="groupy1"/>
  3988.         <xsl:element name="draw:line">
  3989.             <xsl:variable name="tuxing1" select="@σ¢╛:µáçΦ»åτ¼ª"/>
  3990.             <xsl:choose>
  3991.                 <xsl:when test="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)">
  3992.                     <xsl:for-each select="key('rel_graphic_name',@σ¢╛:µáçΦ»åτ¼ª)">
  3993.                         <xsl:attribute name="svg:x1"><xsl:value-of select="concat(@uof:xσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  3994.                         <xsl:attribute name="svg:y1"><xsl:value-of select="concat(@uof:yσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  3995.                         <xsl:attribute name="svg:x2"><xsl:value-of select="concat((number(@uof:xσ¥Éµáç) + number(@uof:σ«╜σ║ª)),$uofUnit)"/></xsl:attribute>
  3996.                         <xsl:attribute name="svg:y2"><xsl:value-of select="concat((number(@uof:yσ¥Éµáç) + number(@uof:Θ½ÿσ║ª)),$uofUnit)"/></xsl:attribute>
  3997.                     </xsl:for-each>
  3998.                 </xsl:when>
  3999.                 <xsl:otherwise>
  4000.                     <xsl:variable name="zuheweizhi-x">
  4001.                         <xsl:value-of select="σ¢╛:τ╗äσÉêΣ╜ìτ╜«/@σ¢╛:xσ¥Éµáç"/>
  4002.                     </xsl:variable>
  4003.                     <xsl:variable name="zuheweizhi-y">
  4004.                         <xsl:value-of select="σ¢╛:τ╗äσÉêΣ╜ìτ╜«/@σ¢╛:yσ¥Éµáç"/>
  4005.                     </xsl:variable>
  4006.                     <xsl:variable name="hex">
  4007.                         <xsl:value-of select="concat(number($groupx1 + $zuheweizhi-x),$uofUnit)"/>
  4008.                     </xsl:variable>
  4009.                     <xsl:variable name="hey">
  4010.                         <xsl:value-of select="concat(number($groupy1 + $zuheweizhi-y),$uofUnit)"/>
  4011.                     </xsl:variable>
  4012.                     <xsl:attribute name="svg:x1"><xsl:value-of select="$hex"/></xsl:attribute>
  4013.                     <xsl:attribute name="svg:y1"><xsl:value-of select="$hey"/></xsl:attribute>
  4014.                     <xsl:attribute name="svg:x2"><xsl:value-of select="concat(($hex + σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:σ«╜σ║ª),$uofUnit)"/></xsl:attribute>
  4015.                     <xsl:attribute name="svg:y2"><xsl:value-of select="concat(($hey + σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:Θ½ÿσ║ª),$uofUnit)"/></xsl:attribute>
  4016.                 </xsl:otherwise>
  4017.             </xsl:choose>
  4018.             <xsl:attribute name="text:anchor-type">paragraph</xsl:attribute>
  4019.             <xsl:attribute name="draw:style-name"><xsl:value-of select="$tuxing1"/></xsl:attribute>
  4020.             <xsl:attribute name="draw:z-index"><xsl:value-of select="@σ¢╛:σ▒éµ¼í"/></xsl:attribute>
  4021.             <xsl:if test="σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª and not(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª='0.0')">
  4022.                 <xsl:variable name="rotate-angle">
  4023.                     <xsl:value-of select="(σ¢╛:Θóäσ«ÜΣ╣ëσ¢╛σ╜ó/σ¢╛:σ▒₧µÇº/σ¢╛:µùïΦ╜¼ΦºÆσ║ª *  2 * 3.14159265 ) div 360"/>
  4024.                 </xsl:variable>
  4025.                 <xsl:attribute name="draw:transform"><xsl:value-of select="concat('rotate (',$rotate-angle,') translate (-0.0194027777777778cm 3.317875cm)')"/></xsl:attribute>
  4026.             </xsl:if>
  4027.             <xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣">
  4028.                 <xsl:apply-templates select="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜"/>
  4029.                 <xsl:apply-templates select="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µûçσ¡ùΦí¿"/>
  4030.             </xsl:if>
  4031.         </xsl:element>
  4032.     </xsl:template>
  4033.     <!--Redoffice comment liliang end 06.02.15-->
  4034.     <xsl:template match="Φí¿:σìòσàâµá╝" mode="skip">
  4035.         <xsl:param name="condition-pos-str"/>
  4036.         <xsl:param name="col-pos-max"/>
  4037.         <xsl:param name="col-pos-before"/>
  4038.         <xsl:param name="row-pos"/>
  4039.         <xsl:variable name="next-cell" select="following-sibling::Φí¿:σìòσàâµá╝[1]"/>
  4040.         <xsl:variable name="cell-is-repeatable" select="not($next-cell/*) and not($next-cell/text()) and (@Φí¿:σ╝ŵá╖σ╝òτö¿ = $next-cell/@Φí¿:σ╝ŵá╖σ╝òτö¿) and not($next-cell/@Φí¿:σêùσÅ╖)"/>
  4041.         <xsl:choose>
  4042.             <xsl:when test="$cell-is-repeatable">
  4043.                 <xsl:apply-templates select="$next-cell" mode="skip">
  4044.                     <xsl:with-param name="row-pos" select="$row-pos"/>
  4045.                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  4046.                     <xsl:with-param name="col-pos-max" select="$col-pos-max"/>
  4047.                     <xsl:with-param name="col-pos-before" select="$col-pos-before + 1"/>
  4048.                 </xsl:apply-templates>
  4049.             </xsl:when>
  4050.             <xsl:otherwise>
  4051.                 <xsl:if test="$next-cell">
  4052.                     <xsl:apply-templates select="$next-cell" mode="selected">
  4053.                         <xsl:with-param name="row-pos" select="$row-pos"/>
  4054.                         <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  4055.                         <xsl:with-param name="col-pos-max" select="$col-pos-max"/>
  4056.                         <xsl:with-param name="col-pos-before" select="$col-pos-before +1"/>
  4057.                     </xsl:apply-templates>
  4058.                     <!--chengxz0925 no otherwise ,some content cells missed -->
  4059.                 </xsl:if>
  4060.                 <!--chengxz 060418 add if sentence-->
  4061.             </xsl:otherwise>
  4062.         </xsl:choose>
  4063.     </xsl:template>
  4064.     <!--xsl:template name="create-table-cell-attributes"></xsl:template>
  4065. <xsl:template name="create-table-cell-content"></xsl:template>
  4066. <xsl:template name="create-data-content"></xsl:template>
  4067. <xsl:template name="get-condition-dependent-cell-attributes"></xsl:template-->
  4068.     <xsl:template name="create-table-cell-attributes">
  4069.         <xsl:param name="condition-pos-str"/>
  4070.         <xsl:param name="col-pos-max"/>
  4071.         <xsl:param name="col-pos"/>
  4072.         <xsl:param name="row-pos"/>
  4073.         <xsl:choose>
  4074.             <xsl:when test="$condition-pos-str">
  4075.                 <xsl:call-template name="get-condition-dependent-cell-attributes">
  4076.                     <xsl:with-param name="condition-pos-str" select="$condition-pos-str"/>
  4077.                     <xsl:with-param name="current-pos-str" select="concat('R',$row-pos,'C',$col-pos,',')"/>
  4078.                 </xsl:call-template>
  4079.             </xsl:when>
  4080.             <xsl:otherwise>
  4081.                 <xsl:attribute name="table:style-name"><xsl:choose><xsl:when test="@Φí¿:σ╝ŵá╖σ╝òτö¿"><xsl:value-of select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:when><xsl:when test="../@Φí¿:σ╝ŵá╖σ╝òτö¿ and ../@Φí¿:σ╝ŵá╖σ╝òτö¿ != ''"><xsl:value-of select="../@Φí¿:σ╝ŵá╖σ╝òτö¿"/></xsl:when><xsl:otherwise><xsl:value-of select="'Default'"/></xsl:otherwise></xsl:choose></xsl:attribute>
  4082.                 <!--chengxiuzhi-->
  4083.             </xsl:otherwise>
  4084.         </xsl:choose>
  4085.         <xsl:if test="@Φí¿:σÉêσ╣╢σêùµò░ or @Φí¿:σÉêσ╣╢Φíîµò░">
  4086.             <xsl:choose>
  4087.                 <xsl:when test="@Φí¿:σÉêσ╣╢σêùµò░">
  4088.                     <xsl:attribute name="table:number-columns-spanned"><xsl:value-of select="@Φí¿:σÉêσ╣╢σêùµò░ + 1"/></xsl:attribute>
  4089.                 </xsl:when>
  4090.                 <xsl:otherwise>
  4091.                     <xsl:attribute name="table:number-columns-spanned">1</xsl:attribute>
  4092.                 </xsl:otherwise>
  4093.             </xsl:choose>
  4094.             <xsl:choose>
  4095.                 <xsl:when test="@Φí¿:σÉêσ╣╢Φíîµò░">
  4096.                     <xsl:attribute name="table:number-rows-spanned"><xsl:value-of select="@Φí¿:σÉêσ╣╢Φíîµò░+1"/></xsl:attribute>
  4097.                 </xsl:when>
  4098.                 <xsl:otherwise>
  4099.                     <xsl:attribute name="table:number-rows-spanned">1</xsl:attribute>
  4100.                 </xsl:otherwise>
  4101.             </xsl:choose>
  4102.         </xsl:if>
  4103.         <xsl:if test="Φí¿:µò░µì«">
  4104.             <xsl:if test="Φí¿:µò░µì«/Φí¿:σà¼σ╝Å">
  4105.                 <xsl:variable name="calc-formula">
  4106.                     <xsl:call-template name="translate-expression">
  4107.                         <xsl:with-param name="cell-row-pos" select="$row-pos"/>
  4108.                         <xsl:with-param name="cell-column-pos" select="$col-pos"/>
  4109.                         <xsl:with-param name="expression" select="Φí¿:µò░µì«/Φí¿:σà¼σ╝Å"/>
  4110.                         <xsl:with-param name="return-value" select="''"/>
  4111.                     </xsl:call-template>
  4112.                 </xsl:variable>
  4113.                 <xsl:attribute name="table:formula"><xsl:value-of select="$calc-formula"/></xsl:attribute>
  4114.             </xsl:if>
  4115.             <!--RedOffice Comment from Zengjh:UOF0020 2006-04-17 Based on Original-->
  4116.             <xsl:variable name="table-stylename" select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4117.             <xsl:variable name="data-format">
  4118.                 <xsl:for-each select="/uof:UOF/uof:σ╝ŵá╖Θ¢å/uof:σìòσàâµá╝σ╝ŵá╖">
  4119.                     <xsl:if test="$table-stylename = ./@ Φí¿:µáçΦ»åτ¼ª">
  4120.                         <xsl:value-of select="Φí¿:µò░σ¡ùµá╝σ╝Å/@Φí¿:σêåτ▒╗σÉìτº░"/>
  4121.                     </xsl:if>
  4122.                 </xsl:for-each>
  4123.             </xsl:variable>
  4124.             <xsl:variable name="data-formatcode">
  4125.                 <xsl:for-each select="/uof:UOF/uof:σ╝ŵá╖Θ¢å/uof:σìòσàâµá╝σ╝ŵá╖">
  4126.                     <xsl:if test="$table-stylename= ./@Φí¿:µáçΦ»åτ¼ª">
  4127.                         <xsl:value-of select="Φí¿:µò░σ¡ùµá╝σ╝Å/@Φí¿:µá╝σ╝Åτáü"/>
  4128.                     </xsl:if>
  4129.                 </xsl:for-each>
  4130.             </xsl:variable>
  4131.             <xsl:choose>
  4132.                 <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'number'">
  4133.                     <xsl:choose>
  4134.                         <xsl:when test="$data-format = 'percentage' or contains( $data-formatcode, '%')">
  4135.                             <xsl:attribute name="office:value-type">percentage</xsl:attribute>
  4136.                         </xsl:when>
  4137.                         <xsl:when test="contains($data-format, 'currency')">
  4138.                             <xsl:attribute name="office:value-type">currency</xsl:attribute>
  4139.                             <xsl:attribute name="office:currency">CNY</xsl:attribute>
  4140.                         </xsl:when>
  4141.                         <xsl:otherwise>
  4142.                             <xsl:attribute name="office:value-type">float</xsl:attribute>
  4143.                         </xsl:otherwise>
  4144.                     </xsl:choose>
  4145.                     <xsl:attribute name="office:value"><xsl:choose><xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"><xsl:value-of select="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"/></xsl:when><xsl:otherwise><xsl:value-of select="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/></xsl:otherwise></xsl:choose></xsl:attribute>
  4146.                 </xsl:when>
  4147.                 <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'date'">
  4148.                     <xsl:attribute name="office:value-type">date</xsl:attribute>
  4149.                     <xsl:attribute name="office:date-value"><xsl:value-of select="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  4150.                 </xsl:when>
  4151.                 <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'time'">
  4152.                     <xsl:attribute name="office:value-type">time</xsl:attribute>
  4153.                     <xsl:attribute name="office:time-value"><xsl:value-of select="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  4154.                 </xsl:when>
  4155.                 <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'boolean'">
  4156.                     <xsl:attribute name="office:value-type">boolean</xsl:attribute>
  4157.                     <xsl:attribute name="office:boolean-value"><xsl:choose><xsl:when test="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓ = '1'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute>
  4158.                 </xsl:when>
  4159.                 <xsl:when test="Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï = 'text'">
  4160.                     <xsl:attribute name="office:value-type">string</xsl:attribute>
  4161.                     <xsl:attribute name="office:string-value"><xsl:value-of select="Φí¿:µò░µì«/@Φí¿:µò░µì«µò░σÇ╝"/></xsl:attribute>
  4162.                 </xsl:when>
  4163.             </xsl:choose>
  4164.         </xsl:if>
  4165.         <!-- zhangying ok and /uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:σà¼σà▒σñäτÉåΦºäσêÖ/Φí¿:µò░µì«µ£ëµòêµÇºΘ¢å-->
  4166.         <xsl:if test="Φí¿:µò░µì«">
  4167.             <xsl:variable name="validation-name">
  4168.                 <xsl:call-template name="zyvalidationtest">
  4169.                     <xsl:with-param name="column-num" select="$col-pos"/>
  4170.                     <xsl:with-param name="row-num" select="$row-pos"/>
  4171.                     <xsl:with-param name="table-name" select="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/@Φí¿:σÉìτº░"/>
  4172.                     <xsl:with-param name="validation-set" select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:σà¼τö¿σñäτÉåΦºäσêÖ/Φí¿:µò░µì«µ£ëµòêµÇºΘ¢å/Φí¿:µò░µì«µ£ëµòêµÇº"/>
  4173.                     <xsl:with-param name="validation-num" select="'1'"/>
  4174.                 </xsl:call-template>
  4175.             </xsl:variable>
  4176.             <xsl:if test="$validation-name!=''">
  4177.                 <xsl:attribute name="table:content-validation-name"><xsl:value-of select="$validation-name"/></xsl:attribute>
  4178.             </xsl:if>
  4179.         </xsl:if>
  4180.         <!-- zhangying mod end -->
  4181.     </xsl:template>
  4182.     <!-- zhangying o -->
  4183.     <xsl:template name="zyvalidationtest">
  4184.         <xsl:param name="row-num"/>
  4185.         <xsl:param name="column-num"/>
  4186.         <xsl:param name="table-name"/>
  4187.         <xsl:param name="validation-set"/>
  4188.         <xsl:param name="validation-num"/>
  4189.         <xsl:if test="$validation-set">
  4190.             <xsl:variable name="zone" select="$validation-set/Φí¿:σî║σƒƒ/text()"/>
  4191.             <xsl:variable name="success">
  4192.                 <xsl:choose>
  4193.                     <xsl:when test="$table-name=substring-after(substring-before($zone,'.'),'$')">
  4194.                         <xsl:variable name="validation-row-left-top" select="substring-before(substring-after(substring-after(substring-after($zone,'$'),'$'),'$'),':')"/>
  4195.                         <xsl:variable name="validation-row-right-bottom" select="substring-after(substring-after(substring-after($zone,':$'),'$'),'$')"/>
  4196.                         <xsl:choose>
  4197.                             <xsl:when test="($row-num >= $validation-row-left-top and $row-num <= $validation-row-right-bottom) or $validation-row-left-top=$validation-row-right-bottom">
  4198.                                 <xsl:variable name="validation-column-left-top">
  4199.                                     <xsl:call-template name="translate-column-char-to-number">
  4200.                                         <xsl:with-param name="string" select="substring-before(substring-after(substring-after($zone,'$'),'$'),'$')"/>
  4201.                                     </xsl:call-template>
  4202.                                 </xsl:variable>
  4203.                                 <xsl:variable name="validation-column-right-bottom">
  4204.                                     <xsl:call-template name="translate-column-char-to-number">
  4205.                                         <xsl:with-param name="string" select="substring-before(substring-after(substring-after($zone,':$'),'$'),'$')"/>
  4206.                                     </xsl:call-template>
  4207.                                 </xsl:variable>
  4208.                                 <xsl:choose>
  4209.                                     <xsl:when test="($column-num >= $validation-column-left-top) and ($column-num <= $validation-column-right-bottom)">yes</xsl:when>
  4210.                                     <xsl:otherwise/>
  4211.                                 </xsl:choose>
  4212.                             </xsl:when>
  4213.                             <xsl:otherwise/>
  4214.                         </xsl:choose>
  4215.                     </xsl:when>
  4216.                     <xsl:otherwise/>
  4217.                 </xsl:choose>
  4218.             </xsl:variable>
  4219.             <xsl:choose>
  4220.                 <xsl:when test="$success='yes'">
  4221.                     <xsl:value-of select="concat('val',$validation-num)"/>
  4222.                 </xsl:when>
  4223.                 <xsl:otherwise>
  4224.                     <xsl:call-template name="zyvalidationtest">
  4225.                         <xsl:with-param name="table-name" select="$table-name"/>
  4226.                         <xsl:with-param name="row-num" select="$row-num"/>
  4227.                         <xsl:with-param name="column-num" select="$column-num"/>
  4228.                         <xsl:with-param name="validation-set" select="$validation-set[position()!=1]"/>
  4229.                         <xsl:with-param name="validation-num" select="$validation-num + 1"/>
  4230.                     </xsl:call-template>
  4231.                 </xsl:otherwise>
  4232.             </xsl:choose>
  4233.         </xsl:if>
  4234.     </xsl:template>
  4235.     <!--zhangying mod end -->
  4236.     <xsl:template name="create-table-cell-content">
  4237.         <xsl:param name="condition-pos-str"/>
  4238.         <xsl:param name="col-pos-max"/>
  4239.         <xsl:param name="col-pos"/>
  4240.         <xsl:param name="row-pos"/>
  4241.         <!--Redoffice comment liliang SC0011 06.02.15 -->
  4242.         <!--µû░σó₧σåàσ«╣-->
  4243.         <xsl:apply-templates select="uof:ΘöÜτé╣"/>
  4244.         <!--Redoffice comment liliang end 06.02.15 -->
  4245.         <xsl:apply-templates select="Φí¿:µë╣µ│¿" mode="body"/>
  4246.         <!--RedOffice Comment from Zengjh:UOF0020 2006-04-26 charts-->
  4247.         <xsl:apply-templates select="Φí¿:σ¢╛Φí¿"/>
  4248.         <xsl:if test="Φí¿:µò░µì«/σ¡ù:σÅÑ">
  4249.             <text:p>
  4250.                 <xsl:call-template name="create-data-content">
  4251.                     <xsl:with-param name="style-id" select="../../@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4252.                 </xsl:call-template>
  4253.             </text:p>
  4254.         </xsl:if>
  4255.         <!--chengxz0701σñÜΣ╕¬σÅÑΣ╕ìΦâ╜Φ»╗σàÑ-->
  4256.     </xsl:template>
  4257.     <xsl:template name="create-data-content">
  4258.         <xsl:param name="style-id" select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4259.         <xsl:variable name="html-children" select="Φí¿:σ╝ŵá╖σ╝òτö¿/descendant-or-self::*[namespace-uri()='http://www.w3.org/TR/REC-html40'][string-length(text()) != 0]"/>
  4260.         <xsl:choose>
  4261.             <xsl:when test="$html-children and $html-children != ''">
  4262.                 <xsl:for-each select="$html-children">
  4263.                     <text:span text:style-name="{concat($style-id, 'T', count(preceding::Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓[child::html:*]), '_', position())}">
  4264.                         <xsl:copy-of select="text()"/>
  4265.                     </text:span>
  4266.                 </xsl:for-each>
  4267.             </xsl:when>
  4268.             <xsl:when test="@Φí¿:Φ╢àΘô╛µÄÑσ╝òτö¿">
  4269.                 <text:a xlink:href="{@Φí¿:Φ╢àΘô╛µÄÑσ╝òτö¿}">
  4270.                     <xsl:value-of select="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/>
  4271.                 </text:a>
  4272.             </xsl:when>
  4273.             <xsl:otherwise>
  4274.                 <xsl:for-each select="Φí¿:µò░µì«/σ¡ù:σÅÑ">
  4275.                     <xsl:choose>
  4276.                         <xsl:when test="name(descendant::*[1])='σ¡ù:σÅÑσ▒₧µÇº'">
  4277.                             <text:span>
  4278.                                 <xsl:attribute name="text:style-name"><xsl:value-of select="descendant::*[1]/@σ¡ù:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  4279.                                 <xsl:value-of select="./σ¡ù:µûçµ£¼Σ╕▓"/>
  4280.                             </text:span>
  4281.                         </xsl:when>
  4282.                         <xsl:otherwise>
  4283.                             <xsl:value-of select="./σ¡ù:µûçµ£¼Σ╕▓"/>
  4284.                         </xsl:otherwise>
  4285.                     </xsl:choose>
  4286.                 </xsl:for-each>
  4287.             </xsl:otherwise>
  4288.         </xsl:choose>
  4289.     </xsl:template>
  4290.     <xsl:template name="create-comment-data-content">
  4291.         <xsl:param name="style-id" select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4292.         <xsl:variable name="html-children" select="Φí¿:σ╝ŵá╖σ╝òτö¿/descendant-or-self::*[namespace-uri()='http://www.w3.org/TR/REC-html40'][string-length(text()) != 0]"/>
  4293.         <xsl:choose>
  4294.             <xsl:when test="$html-children and $html-children != ''">
  4295.                 <xsl:for-each select="$html-children">
  4296.                     <text:span text:style-name="{concat($style-id, 'T', count(preceding::σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓[child::html:*]), '_', position())}">
  4297.                         <xsl:copy-of select="text()"/>
  4298.                     </text:span>
  4299.                 </xsl:for-each>
  4300.             </xsl:when>
  4301.             <xsl:when test="@Φí¿:Φ╢àΘô╛µÄÑσ╝òτö¿">
  4302.                 <text:a xlink:href="{@Φí¿:Φ╢àΘô╛µÄÑσ╝òτö¿}">
  4303.                     <xsl:value-of select="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/>
  4304.                 </text:a>
  4305.             </xsl:when>
  4306.             <xsl:otherwise>
  4307.                 <xsl:value-of select="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/>
  4308.             </xsl:otherwise>
  4309.         </xsl:choose>
  4310.     </xsl:template>
  4311.     <xsl:template name="get-condition-dependent-cell-attributes">
  4312.         <xsl:param name="condition-pos-str"/>
  4313.         <xsl:param name="current-pos-str"/>
  4314.         <xsl:variable name="temp-str">
  4315.             <xsl:call-template name="condition-str">
  4316.                 <xsl:with-param name="param-str" select="substring-before($condition-pos-str,$current-pos-str)"/>
  4317.             </xsl:call-template>
  4318.         </xsl:variable>
  4319.         <xsl:variable name="style-name">
  4320.             <xsl:choose>
  4321.                 <xsl:when test="contains($condition-pos-str, $current-pos-str) and starts-with($temp-str, 'c')">
  4322.                     <xsl:value-of select="concat('ce', substring-after($temp-str, 'c'))"/>
  4323.                 </xsl:when>
  4324.                 <xsl:otherwise>
  4325.                     <xsl:choose>
  4326.                         <xsl:when test="@Φí¿:σ╝ŵá╖σ╝òτö¿">
  4327.                             <xsl:value-of select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4328.                         </xsl:when>
  4329.                         <xsl:when test="../@Φí¿:σ╝ŵá╖σ╝òτö¿">
  4330.                             <xsl:value-of select="../@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4331.                         </xsl:when>
  4332.                         <xsl:otherwise>
  4333.                             <xsl:value-of select="'Default'"/>
  4334.                         </xsl:otherwise>
  4335.                     </xsl:choose>
  4336.                 </xsl:otherwise>
  4337.             </xsl:choose>
  4338.         </xsl:variable>
  4339.         <xsl:if test="not( contains($style-name, 'Default'))">
  4340.             <xsl:choose>
  4341.                 <xsl:when test="starts-with($style-name, 'val')">
  4342.                     <xsl:attribute name="table:content-validation-name"><xsl:value-of select="$style-name"/></xsl:attribute>
  4343.                 </xsl:when>
  4344.                 <xsl:otherwise>
  4345.                     <xsl:attribute name="table:style-name"><xsl:value-of select="$style-name"/></xsl:attribute>
  4346.                 </xsl:otherwise>
  4347.             </xsl:choose>
  4348.         </xsl:if>
  4349.         <xsl:if test="contains($style-name, 'Default')">
  4350.             <xsl:variable name="style-nametemp">
  4351.                 <xsl:choose>
  4352.                     <xsl:when test="@Φí¿:σ╝ŵá╖σ╝òτö¿">
  4353.                         <xsl:value-of select="@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4354.                     </xsl:when>
  4355.                     <xsl:when test="../@Φí¿:σ╝ŵá╖σ╝òτö¿">
  4356.                         <xsl:value-of select="../@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4357.                     </xsl:when>
  4358.                     <xsl:otherwise>
  4359.                         <xsl:value-of select="'Default'"/>
  4360.                     </xsl:otherwise>
  4361.                 </xsl:choose>
  4362.             </xsl:variable>
  4363.             <xsl:attribute name="table:style-name"><xsl:value-of select="$style-nametemp"/></xsl:attribute>
  4364.             <!--xsl:attribute name="style:data-style-name"><xsl:value-of select="N104" /></xsl:attribute-->
  4365.         </xsl:if>
  4366.         <!--chengxz-->
  4367.         <xsl:if test="contains($condition-pos-str, $current-pos-str)">
  4368.             <xsl:choose>
  4369.                 <xsl:when test="starts-with($temp-str, 'v')">
  4370.                     <xsl:attribute name="table:content-validation-name"><xsl:value-of select="concat('val', substring-after($temp-str, 'v'))"/></xsl:attribute>
  4371.                 </xsl:when>
  4372.                 <xsl:otherwise>
  4373.                     <xsl:variable name="after-str" select="substring-after($condition-pos-str, $current-pos-str)"/>
  4374.                     <xsl:if test="contains( $after-str, $current-pos-str)">
  4375.                         <xsl:variable name="temp-str-2">
  4376.                             <xsl:call-template name="condition-str">
  4377.                                 <xsl:with-param name="param-str" select="substring-before( $after-str,$current-pos-str)"/>
  4378.                             </xsl:call-template>
  4379.                         </xsl:variable>
  4380.                         <xsl:if test="starts-with( $temp-str-2, 'v')">
  4381.                             <xsl:attribute name="table:content-validation-name"><xsl:value-of select="concat('val', substring-after($temp-str-2, 'v'))"/></xsl:attribute>
  4382.                         </xsl:if>
  4383.                     </xsl:if>
  4384.                 </xsl:otherwise>
  4385.             </xsl:choose>
  4386.         </xsl:if>
  4387.     </xsl:template>
  4388.     <xsl:template match="Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣">
  4389.         <xsl:variable name="default-column-width">
  4390.             <xsl:choose>
  4391.                 <xsl:when test="@Φí¿:τ╝║τ£üσêùσ«╜">
  4392.                     <xsl:call-template name="convert2cm">
  4393.                         <xsl:with-param name="value" select="concat(@Φí¿:τ╝║τ£üσêùσ«╜,'pt')"/>
  4394.                     </xsl:call-template>
  4395.                     <xsl:text>cm</xsl:text>
  4396.                 </xsl:when>
  4397.                 <xsl:otherwise>2.096cm</xsl:otherwise>
  4398.             </xsl:choose>
  4399.         </xsl:variable>
  4400.         <xsl:variable name="table-pos">
  4401.             <xsl:value-of select="count(../preceding-sibling::Φí¿:σ╖ÑΣ╜£Φí¿)+1"/>
  4402.         </xsl:variable>
  4403.         <xsl:choose>
  4404.             <xsl:when test="Φí¿:σêù">
  4405.                 <xsl:call-template name="get-column-style-name">
  4406.                     <xsl:with-param name="finishedColumns" select="0"/>
  4407.                     <xsl:with-param name="columnCount" select="count(./Φí¿:σêù)"/>
  4408.                     <xsl:with-param name="currentCount" select="1"/>
  4409.                     <xsl:with-param name="table-pos" select="$table-pos"/>
  4410.                     <xsl:with-param name="default-column-width" select="$default-column-width"/>
  4411.                 </xsl:call-template>
  4412.             </xsl:when>
  4413.         </xsl:choose>
  4414.         <xsl:if test="../Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@Φí¿:σêùσÅ╖]">
  4415.             <style:style style:name="{concat('cob',$table-pos)}" style:family="table-column">
  4416.                 <xsl:element name="style:table-column-properties">
  4417.                     <xsl:attribute name="style:column-width"><xsl:value-of select="$default-column-width"/></xsl:attribute>
  4418.                     <xsl:attribute name="fo:break-before">page</xsl:attribute>
  4419.                 </xsl:element>
  4420.             </style:style>
  4421.         </xsl:if>
  4422.         <xsl:variable name="default-row-height">
  4423.             <xsl:choose>
  4424.                 <xsl:when test="@Φí¿:τ╝║τ£üΦíîΘ½ÿ">
  4425.                     <xsl:call-template name="convert2cm">
  4426.                         <xsl:with-param name="value" select="concat(@Φí¿:τ╝║τ£üΦíîΘ½ÿ,'pt')"/>
  4427.                     </xsl:call-template>
  4428.                     <xsl:text>cm</xsl:text>
  4429.                 </xsl:when>
  4430.                 <xsl:otherwise>0.503cm</xsl:otherwise>
  4431.             </xsl:choose>
  4432.         </xsl:variable>
  4433.         <style:style style:family="table-row" style:name="{concat('ro', $table-pos)}">
  4434.             <style:table-row-properties style:row-height="{$default-row-height}" style:use-optimal-row-height="false"/>
  4435.         </style:style>
  4436.         <xsl:if test="Φí¿:Φíî">
  4437.             <xsl:call-template name="get-row-style-name">
  4438.                 <xsl:with-param name="lastrowpos" select="0"/>
  4439.                 <xsl:with-param name="row-count" select="count(./Φí¿:Φíî)"/>
  4440.                 <xsl:with-param name="currentRow" select="1"/>
  4441.                 <xsl:with-param name="table-pos" select="$table-pos"/>
  4442.                 <xsl:with-param name="default-row-height" select="$default-row-height"/>
  4443.             </xsl:call-template>
  4444.         </xsl:if>
  4445.         <!--RedOffice Comment from Zengjh:UOF0020 2006-06-11 charts-->
  4446.         <xsl:for-each select="//Φí¿:σ¢╛Φí¿">
  4447.             <xsl:variable name="chart-current">
  4448.                 <xsl:number level="any" count="Φí¿:σ¢╛Φí¿" format="1"/>
  4449.             </xsl:variable>
  4450.             <style:style style:family="graphics" style:name="{concat('chart', $chart-current)}">
  4451.                 <style:graphic-properties>
  4452.                     <xsl:choose>
  4453.                         <xsl:when test="@Φí¿:ΘÜÅσ迵û╣σ╝Å='none'">
  4454.                             <xsl:attribute name="draw:move-protect">true</xsl:attribute>
  4455.                             <xsl:attribute name="draw:size-protect">true</xsl:attribute>
  4456.                         </xsl:when>
  4457.                         <xsl:when test="@Φí¿:ΘÜÅσ迵û╣σ╝Å='move'">
  4458.                             <xsl:attribute name="draw:size-protect">true</xsl:attribute>
  4459.                         </xsl:when>
  4460.                         <xsl:otherwise/>
  4461.                     </xsl:choose>
  4462.                 </style:graphic-properties>
  4463.             </style:style>
  4464.         </xsl:for-each>
  4465.         <!--RedOffice comment (Zengjh) end charts-->
  4466.         <xsl:if test="../Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[@ΦíîσÅ╖]">
  4467.             <style:style style:name="{concat('rob',$table-pos)}" style:family="table-row">
  4468.                 <xsl:element name="style:table-row-properties">
  4469.                     <xsl:attribute name="style:row-height"><xsl:value-of select="$default-row-height"/></xsl:attribute>
  4470.                     <xsl:attribute name="style:use-optimal-row-height">false</xsl:attribute>
  4471.                     <xsl:attribute name="fo:break-before">page</xsl:attribute>
  4472.                 </xsl:element>
  4473.             </style:style>
  4474.         </xsl:if>
  4475.         <xsl:element name="style:style">
  4476.             <xsl:attribute name="style:name"><xsl:value-of select="concat( 'ta', $table-pos)"/></xsl:attribute>
  4477.             <xsl:attribute name="style:family">table</xsl:attribute>
  4478.             <xsl:attribute name="style:master-page-name"><xsl:call-template name="encode-as-nc-name"><xsl:with-param name="string" select="concat( 'TAB_',../@Φí¿:σÉìτº░)"/></xsl:call-template></xsl:attribute>
  4479.             <xsl:element name="style:properties">
  4480.                 <xsl:choose>
  4481.                     <xsl:when test="../@Φí¿:ΘÜÉΦùÅ = 'true'">
  4482.                         <xsl:attribute name="table:display">false</xsl:attribute>
  4483.                     </xsl:when>
  4484.                     <xsl:otherwise>
  4485.                         <xsl:attribute name="table:display">true</xsl:attribute>
  4486.                     </xsl:otherwise>
  4487.                 </xsl:choose>
  4488.             </xsl:element>
  4489.         </xsl:element>
  4490.     </xsl:template>
  4491.     <xsl:template name="get-column-style-name">
  4492.         <xsl:param name="finishedColumns"/>
  4493.         <xsl:param name="columnCount"/>
  4494.         <xsl:param name="currentCount"/>
  4495.         <xsl:param name="table-pos"/>
  4496.         <xsl:param name="default-column-width"/>
  4497.         <xsl:if test="$currentCount < ($columnCount + 1)">
  4498.             <xsl:variable name="span-value">
  4499.                 <xsl:choose>
  4500.                     <xsl:when test="./Φí¿:σêù[position() = $currentCount]/@Φí¿:Φ╖¿σ║ª">
  4501.                         <xsl:value-of select="./Φí¿:Φ╖¿σ║ª[position() = $currentCount]/@Φí¿:Φ╖¿σ║ª + 1"/>
  4502.                     </xsl:when>
  4503.                     <xsl:otherwise>
  4504.                         <xsl:value-of select="0"/>
  4505.                     </xsl:otherwise>
  4506.                 </xsl:choose>
  4507.             </xsl:variable>
  4508.             <xsl:variable name="current-index">
  4509.                 <xsl:choose>
  4510.                     <xsl:when test="./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσÅ╖">
  4511.                         <xsl:value-of select="./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσÅ╖ - 1"/>
  4512.                     </xsl:when>
  4513.                     <xsl:otherwise>
  4514.                         <xsl:value-of select="$finishedColumns"/>
  4515.                     </xsl:otherwise>
  4516.                 </xsl:choose>
  4517.             </xsl:variable>
  4518.             <xsl:variable name="column-break">
  4519.                 <xsl:choose>
  4520.                     <xsl:when test="$span-value = 0">
  4521.                         <xsl:if test="../Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª/Φí¿:σêù = $current-index">
  4522.                             <xsl:value-of select="1"/>
  4523.                         </xsl:if>
  4524.                     </xsl:when>
  4525.                     <xsl:otherwise>
  4526.                         <xsl:if test="../Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[(@Φí¿:σêùσÅ╖ > $finishedColumns) and (@Φí¿:σêùσÅ╖ < ($finishedColumns + $span-value))]">
  4527.                             <xsl:value-of select="1"/>
  4528.                         </xsl:if>
  4529.                     </xsl:otherwise>
  4530.                 </xsl:choose>
  4531.             </xsl:variable>
  4532.             <xsl:if test="$column-break = 1">
  4533.                 <xsl:element name="style:style">
  4534.                     <xsl:attribute name="style:name"><xsl:call-template name="encode-as-nc-name"><xsl:with-param name="string" select="concat('cob', $table-pos, '-',$currentCount)"/></xsl:call-template></xsl:attribute>
  4535.                     <xsl:attribute name="style:family">table-column</xsl:attribute>
  4536.                     <xsl:element name="style:table-column-properties">
  4537.                         <xsl:choose>
  4538.                             <xsl:when test="./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσ«╜">
  4539.                                 <xsl:attribute name="style:column-width"><xsl:call-template name="convert2cm"><xsl:with-param name="value" select="concat(./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσ«╜,'pt')"/></xsl:call-template><xsl:text>cm</xsl:text></xsl:attribute>
  4540.                             </xsl:when>
  4541.                             <xsl:otherwise>
  4542.                                 <xsl:attribute name="style:column-width"><xsl:value-of select="$default-column-width"/></xsl:attribute>
  4543.                             </xsl:otherwise>
  4544.                         </xsl:choose>
  4545.                         <xsl:choose>
  4546.                             <xsl:when test="./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσ«╜ > 0">
  4547.                                 <xsl:attribute name="style:use-optimal-column-width">false</xsl:attribute>
  4548.                             </xsl:when>
  4549.                             <xsl:otherwise>
  4550.                                 <xsl:attribute name="style:use-optimal-column-width">true</xsl:attribute>
  4551.                             </xsl:otherwise>
  4552.                         </xsl:choose>
  4553.                         <xsl:attribute name="fo:break-before">page</xsl:attribute>
  4554.                     </xsl:element>
  4555.                 </xsl:element>
  4556.             </xsl:if>
  4557.             <style:style style:name="{concat('co', $table-pos, '-',$currentCount)}" style:family="table-column">
  4558.                 <xsl:element name="style:table-column-properties">
  4559.                     <xsl:choose>
  4560.                         <xsl:when test="./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσ«╜">
  4561.                             <xsl:attribute name="style:column-width"><xsl:call-template name="convert2cm"><xsl:with-param name="value" select="concat(./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσ«╜,'pt')"/></xsl:call-template><xsl:text>cm</xsl:text></xsl:attribute>
  4562.                         </xsl:when>
  4563.                         <xsl:otherwise>
  4564.                             <xsl:attribute name="style:column-width"><xsl:value-of select="$default-column-width"/></xsl:attribute>
  4565.                         </xsl:otherwise>
  4566.                     </xsl:choose>
  4567.                     <xsl:attribute name="fo:break-before">auto</xsl:attribute>
  4568.                 </xsl:element>
  4569.             </style:style>
  4570.             <xsl:if test="$currentCount < $columnCount">
  4571.                 <xsl:call-template name="get-column-style-name">
  4572.                     <xsl:with-param name="finishedColumns">
  4573.                         <xsl:choose>
  4574.                             <xsl:when test="./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσÅ╖">
  4575.                                 <xsl:choose>
  4576.                                     <xsl:when test="./Φí¿:σêù[position() = $currentCount]/@Φí¿:Φ╖¿σ║ª">
  4577.                                         <xsl:value-of select="./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσ«╜ + ./Φí¿:σêù[position() = $currentCount]/@Φí¿:Φ╖¿σ║ª"/>
  4578.                                     </xsl:when>
  4579.                                     <xsl:otherwise>
  4580.                                         <xsl:value-of select="./Φí¿:σêù[position() = $currentCount]/@Φí¿:σêùσÅ╖"/>
  4581.                                     </xsl:otherwise>
  4582.                                 </xsl:choose>
  4583.                             </xsl:when>
  4584.                             <xsl:otherwise>
  4585.                                 <xsl:choose>
  4586.                                     <xsl:when test="./Φí¿:σêù[position() = $currentCount]/@Φí¿:Φ╖¿σ║ª">
  4587.                                         <xsl:value-of select="$finishedColumns + ./Φí¿:σêù[position() = $currentCount]/@Φí¿:Φ╖¿σ║ª + 1"/>
  4588.                                     </xsl:when>
  4589.                                     <xsl:otherwise>
  4590.                                         <xsl:value-of select="$finishedColumns + 1"/>
  4591.                                     </xsl:otherwise>
  4592.                                 </xsl:choose>
  4593.                             </xsl:otherwise>
  4594.                         </xsl:choose>
  4595.                     </xsl:with-param>
  4596.                     <xsl:with-param name="columnCount" select="$columnCount"/>
  4597.                     <xsl:with-param name="currentCount" select="$currentCount + 1"/>
  4598.                     <xsl:with-param name="table-pos" select="$table-pos"/>
  4599.                     <xsl:with-param name="default-column-width" select="$default-column-width"/>
  4600.                 </xsl:call-template>
  4601.             </xsl:if>
  4602.         </xsl:if>
  4603.     </xsl:template>
  4604.     <xsl:template name="get-row-style-name">
  4605.         <xsl:param name="lastrowpos"/>
  4606.         <xsl:param name="row-count"/>
  4607.         <xsl:param name="currentRow"/>
  4608.         <xsl:param name="table-pos"/>
  4609.         <xsl:param name="default-row-height"/>
  4610.         <xsl:if test="$currentRow < ($row-count + 1)">
  4611.             <xsl:variable name="span-value">
  4612.                 <xsl:choose>
  4613.                     <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖">
  4614.                         <xsl:choose>
  4615.                             <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  4616.                                 <xsl:value-of select="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖ - $lastrowpos+ ./Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª"/>
  4617.                             </xsl:when>
  4618.                             <xsl:otherwise>
  4619.                                 <xsl:value-of select="0"/>
  4620.                             </xsl:otherwise>
  4621.                         </xsl:choose>
  4622.                     </xsl:when>
  4623.                     <xsl:otherwise>
  4624.                         <xsl:choose>
  4625.                             <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  4626.                                 <xsl:value-of select="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª + 1"/>
  4627.                             </xsl:when>
  4628.                             <xsl:otherwise>
  4629.                                 <xsl:value-of select="0"/>
  4630.                             </xsl:otherwise>
  4631.                         </xsl:choose>
  4632.                     </xsl:otherwise>
  4633.                 </xsl:choose>
  4634.             </xsl:variable>
  4635.             <xsl:variable name="current-index">
  4636.                 <xsl:choose>
  4637.                     <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖">
  4638.                         <xsl:value-of select="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖ - 1"/>
  4639.                     </xsl:when>
  4640.                     <xsl:otherwise>
  4641.                         <xsl:value-of select="$lastrowpos"/>
  4642.                     </xsl:otherwise>
  4643.                 </xsl:choose>
  4644.             </xsl:variable>
  4645.             <xsl:variable name="row-break">
  4646.                 <xsl:choose>
  4647.                     <xsl:when test="$span-value = 0">
  4648.                         <xsl:if test="../Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª/@Φí¿:ΦíîσÅ╖ = $current-index">
  4649.                             <xsl:value-of select="1"/>
  4650.                         </xsl:if>
  4651.                     </xsl:when>
  4652.                     <xsl:otherwise>
  4653.                         <xsl:if test="../Φí¿:σêåΘí╡τ¼ªΘ¢å/Φí¿:σêåΘí╡τ¼ª[(@Φí¿:ΦíîσÅ╖ > $lastrowpos) and (@Φí¿:ΦíîσÅ╖ < ($lastrowpos + $span-value))]">
  4654.                             <xsl:value-of select="1"/>
  4655.                         </xsl:if>
  4656.                     </xsl:otherwise>
  4657.                 </xsl:choose>
  4658.             </xsl:variable>
  4659.             <xsl:if test="$row-break = 1">
  4660.                 <style:style style:name="{concat('rob', $table-pos, '-',$currentRow)}" style:family="table-row">
  4661.                     <xsl:element name="style:table-row-properties">
  4662.                         <xsl:choose>
  4663.                             <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîΘ½ÿ">
  4664.                                 <xsl:attribute name="style:row-height"><xsl:call-template name="convert2cm"><xsl:with-param name="value" select="concat(./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîΘ½ÿ,'pt')"/></xsl:call-template><xsl:text>cm</xsl:text></xsl:attribute>
  4665.                             </xsl:when>
  4666.                             <xsl:otherwise>
  4667.                                 <xsl:attribute name="style:row-height"><xsl:value-of select="$default-row-height"/></xsl:attribute>
  4668.                             </xsl:otherwise>
  4669.                         </xsl:choose>
  4670.                         <xsl:choose>
  4671.                             <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîΘ½ÿ > 0">
  4672.                                 <xsl:attribute name="style:use-optimal-row-height">false</xsl:attribute>
  4673.                             </xsl:when>
  4674.                             <xsl:otherwise>
  4675.                                 <xsl:attribute name="style:use-optimal-row-height">true</xsl:attribute>
  4676.                             </xsl:otherwise>
  4677.                         </xsl:choose>
  4678.                         <xsl:attribute name="fo:break-before">page</xsl:attribute>
  4679.                     </xsl:element>
  4680.                 </style:style>
  4681.             </xsl:if>
  4682.             <style:style style:name="{concat('ro', $table-pos, '-',$currentRow)}" style:family="table-row">
  4683.                 <xsl:element name="style:table-row-properties">
  4684.                     <xsl:choose>
  4685.                         <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîΘ½ÿ">
  4686.                             <xsl:attribute name="style:row-height"><xsl:call-template name="convert2cm"><xsl:with-param name="value" select="concat(./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîΘ½ÿ,'pt')"/></xsl:call-template><xsl:text>cm</xsl:text></xsl:attribute>
  4687.                         </xsl:when>
  4688.                         <xsl:otherwise>
  4689.                             <xsl:attribute name="style:row-height"><xsl:value-of select="$default-row-height"/></xsl:attribute>
  4690.                         </xsl:otherwise>
  4691.                     </xsl:choose>
  4692.                     <xsl:attribute name="style:use-optimal-row-height">true</xsl:attribute>
  4693.                     <xsl:choose>
  4694.                         <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîΘ½ÿ > 0">
  4695.                             <xsl:attribute name="style:use-optimal-row-height">false</xsl:attribute>
  4696.                         </xsl:when>
  4697.                         <xsl:otherwise>
  4698.                             <xsl:attribute name="style:use-optimal-row-height">true</xsl:attribute>
  4699.                         </xsl:otherwise>
  4700.                     </xsl:choose>
  4701.                     <xsl:attribute name="fo:break-before">auto</xsl:attribute>
  4702.                 </xsl:element>
  4703.             </style:style>
  4704.             <xsl:if test="$currentRow < $row-count">
  4705.                 <xsl:call-template name="get-row-style-name">
  4706.                     <xsl:with-param name="lastrowpos">
  4707.                         <xsl:choose>
  4708.                             <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖">
  4709.                                 <xsl:choose>
  4710.                                     <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  4711.                                         <xsl:value-of select="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖ + ./Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª"/>
  4712.                                     </xsl:when>
  4713.                                     <xsl:otherwise>
  4714.                                         <xsl:value-of select="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:ΦíîσÅ╖"/>
  4715.                                     </xsl:otherwise>
  4716.                                 </xsl:choose>
  4717.                             </xsl:when>
  4718.                             <xsl:otherwise>
  4719.                                 <xsl:choose>
  4720.                                     <xsl:when test="./Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª">
  4721.                                         <xsl:value-of select="$lastrowpos + ./Φí¿:Φíî[position() = $currentRow]/@Φí¿:Φ╖¿σ║ª + 1"/>
  4722.                                     </xsl:when>
  4723.                                     <xsl:otherwise>
  4724.                                         <xsl:value-of select="$lastrowpos + 1"/>
  4725.                                     </xsl:otherwise>
  4726.                                 </xsl:choose>
  4727.                             </xsl:otherwise>
  4728.                         </xsl:choose>
  4729.                     </xsl:with-param>
  4730.                     <xsl:with-param name="row-count" select="$row-count"/>
  4731.                     <xsl:with-param name="currentRow" select="$currentRow + 1"/>
  4732.                     <xsl:with-param name="table-pos" select="$table-pos"/>
  4733.                     <xsl:with-param name="default-row-height" select="$default-row-height"/>
  4734.                 </xsl:call-template>
  4735.             </xsl:if>
  4736.         </xsl:if>
  4737.     </xsl:template>
  4738.     <xsl:template name="encode-as-nc-name">
  4739.         <xsl:param name="string"/>
  4740.         <xsl:value-of select="translate($string, '. %()/\+', '')"/>
  4741.     </xsl:template>
  4742.     <xsl:key match="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî/Φí¿:σìòσàâµá╝" name="cells" use="@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  4743.     <xsl:template match="Φí¿:µò░σ¡ùµá╝σ╝Å">
  4744.         <xsl:variable name="unit-count" select="string-length(@Φí¿:µá╝σ╝Åτáü) - string-length(translate(@Φí¿:µá╝σ╝Åτáü,';','')) + 1"/>
  4745.         <xsl:variable name="style-id" select="../@Φí¿:µáçΦ»åτ¼ª"/>
  4746.         <xsl:variable name="number-format-name">
  4747.             <xsl:choose>
  4748.                 <xsl:when test="@Φí¿:σêåτ▒╗σÉìτº░='fraction' or @Φí¿:σêåτ▒╗σÉìτº░='scientific'">number</xsl:when>
  4749.                 <xsl:otherwise>
  4750.                     <xsl:value-of select="@Φí¿:σêåτ▒╗σÉìτº░"/>
  4751.                 </xsl:otherwise>
  4752.             </xsl:choose>
  4753.         </xsl:variable>
  4754.         <xsl:call-template name="process-number-format">
  4755.             <xsl:with-param name="number-format-name" select="$number-format-name"/>
  4756.             <xsl:with-param name="number-format-unit" select="@Φí¿:µá╝σ╝Åτáü"/>
  4757.             <xsl:with-param name="style-id" select="concat($style-id,'F')"/>
  4758.             <xsl:with-param name="format-type" select="key('cells', $style-id)/Φí¿:µò░µì«/@Φí¿:µò░µì«τ▒╗σ₧ï"/>
  4759.             <xsl:with-param name="total-unit" select="$unit-count"/>
  4760.             <xsl:with-param name="current-unit" select="0"/>
  4761.         </xsl:call-template>
  4762.     </xsl:template>
  4763.     <xsl:template name="process-number-format">
  4764.         <xsl:param name="number-format-name"/>
  4765.         <xsl:param name="number-format-unit"/>
  4766.         <xsl:param name="style-id"/>
  4767.         <xsl:param name="format-type"/>
  4768.         <xsl:param name="total-unit"/>
  4769.         <xsl:param name="current-unit"/>
  4770.         <xsl:choose>
  4771.             <xsl:when test="$current-unit < ($total-unit -1)">
  4772.                 <xsl:variable name="style-name">
  4773.                     <xsl:choose>
  4774.                         <xsl:when test="contains(substring-before($number-format-unit,';'),'[$')">currency</xsl:when>
  4775.                         <xsl:when test="contains(substring-before($number-format-unit,';'),'%')">percentage</xsl:when>
  4776.                         <xsl:otherwise>number</xsl:otherwise>
  4777.                     </xsl:choose>
  4778.                 </xsl:variable>
  4779.                 <xsl:element name="{concat('number:',$style-name,'-style')}">
  4780.                     <xsl:attribute name="style:name"><xsl:value-of select="concat( $style-id, 'P',$current-unit)"/></xsl:attribute>
  4781.                     <xsl:attribute name="style:volatile">true</xsl:attribute>
  4782.                     <xsl:call-template name="general-number">
  4783.                         <xsl:with-param name="number-format-unit" select="substring-before($number-format-unit,';')"/>
  4784.                     </xsl:call-template>
  4785.                 </xsl:element>
  4786.                 <xsl:call-template name="process-number-format">
  4787.                     <xsl:with-param name="number-format-name" select="$number-format-name"/>
  4788.                     <xsl:with-param name="number-format-unit" select="substring-after($number-format-unit,';')"/>
  4789.                     <xsl:with-param name="style-id" select="$style-id"/>
  4790.                     <xsl:with-param name="format-type" select="$format-type"/>
  4791.                     <xsl:with-param name="total-unit" select="$total-unit"/>
  4792.                     <xsl:with-param name="current-unit" select="$current-unit +1"/>
  4793.                 </xsl:call-template>
  4794.             </xsl:when>
  4795.             <xsl:otherwise>
  4796.                 <xsl:element name="{concat('number:',$number-format-name,'-style')}">
  4797.                     <xsl:attribute name="style:name"><xsl:value-of select="$style-id"/></xsl:attribute>
  4798.                     <xsl:call-template name="element-attribute">
  4799.                         <xsl:with-param name="number-format-unit" select="string($number-format-unit)"/>
  4800.                     </xsl:call-template>
  4801.                     <xsl:call-template name="general-number">
  4802.                         <xsl:with-param name="number-format-unit" select="string($number-format-unit)"/>
  4803.                     </xsl:call-template>
  4804.                     <xsl:call-template name="style-map">
  4805.                         <xsl:with-param name="number-format-name" select="@Φí¿:σêåτ▒╗σÉìτº░"/>
  4806.                         <xsl:with-param name="number-format-unit" select="@Φí¿:µá╝σ╝Åτáü"/>
  4807.                         <xsl:with-param name="style-id" select="$style-id"/>
  4808.                         <xsl:with-param name="format-type" select="$format-type"/>
  4809.                         <xsl:with-param name="total-unit" select="$total-unit"/>
  4810.                         <xsl:with-param name="current-unit" select="0"/>
  4811.                     </xsl:call-template>
  4812.                 </xsl:element>
  4813.             </xsl:otherwise>
  4814.         </xsl:choose>
  4815.     </xsl:template>
  4816.     <xsl:template name="style-map">
  4817.         <xsl:param name="number-format-name"/>
  4818.         <xsl:param name="number-format-unit"/>
  4819.         <xsl:param name="style-id"/>
  4820.         <xsl:param name="format-type"/>
  4821.         <xsl:param name="total-unit"/>
  4822.         <xsl:param name="current-unit"/>
  4823.         <xsl:if test="$current-unit < ($total-unit -1)">
  4824.             <xsl:variable name="stylecondition" select="substring-after(substring-before($number-format-unit,']'),'[')"/>
  4825.             <style:map style:condition="{$stylecondition}" style:apply-style-name="{concat( $style-id, 'P',$current-unit)}"/>
  4826.             <xsl:call-template name="style-map">
  4827.                 <xsl:with-param name="number-format-name" select="$number-format-name"/>
  4828.                 <xsl:with-param name="number-format-unit" select="substring-after($number-format-unit,';')"/>
  4829.                 <xsl:with-param name="style-id" select="$style-id"/>
  4830.                 <xsl:with-param name="format-type" select="$format-type"/>
  4831.                 <xsl:with-param name="total-unit" select="$total-unit"/>
  4832.                 <xsl:with-param name="current-unit" select="$current-unit +1"/>
  4833.             </xsl:call-template>
  4834.         </xsl:if>
  4835.     </xsl:template>
  4836.     <xsl:template name="general-number">
  4837.         <xsl:param name="number-format-unit"/>
  4838.         <xsl:call-template name="number-format-color">
  4839.             <xsl:with-param name="number-format-unit" select="$number-format-unit"/>
  4840.         </xsl:call-template>
  4841.         <xsl:call-template name="number-format-currency">
  4842.             <xsl:with-param name="number-format-unit" select="$number-format-unit"/>
  4843.         </xsl:call-template>
  4844.         <xsl:choose>
  4845.             <xsl:when test="starts-with($number-format-unit,'"')">
  4846.                 <number:text>
  4847.                     <xsl:value-of select="substring-before(substring-after($number-format-unit,'"'),'"')"/>
  4848.                 </number:text>
  4849.             </xsl:when>
  4850.             <xsl:when test="starts-with($number-format-unit,'@')">
  4851.                 <number:text-content/>
  4852.             </xsl:when>
  4853.             <xsl:when test="starts-with($number-format-unit,'-') or starts-with($number-format-unit,'$') or starts-with($number-format-unit,'∩┐Ñ')">
  4854.                 <number:text>
  4855.                     <xsl:value-of select="substring($number-format-unit,1,1)"/>
  4856.                 </number:text>
  4857.             </xsl:when>
  4858.             <xsl:when test="starts-with($number-format-unit,'YYYY')">
  4859.                 <number:year number:style="long"/>
  4860.             </xsl:when>
  4861.             <xsl:when test="starts-with($number-format-unit,'YY')">
  4862.                 <number:year number:style="rolong"/>
  4863.             </xsl:when>
  4864.             <xsl:when test="starts-with($number-format-unit,'MMMM')">
  4865.                 <number:month number:style="long" number:textual="true"/>
  4866.             </xsl:when>
  4867.             <xsl:when test="starts-with($number-format-unit,'MMM')">
  4868.                 <number:month number:style="rolong" number:textual="true"/>
  4869.             </xsl:when>
  4870.             <xsl:when test="starts-with($number-format-unit,'DD')">
  4871.                 <number:day number:style="long"/>
  4872.             </xsl:when>
  4873.             <xsl:when test="starts-with($number-format-unit,'D')">
  4874.                 <number:day number:style="rolong"/>
  4875.             </xsl:when>
  4876.             <xsl:when test="starts-with($number-format-unit,'[HH]')">
  4877.                 <number:hours number:style="long"/>
  4878.             </xsl:when>
  4879.             <xsl:when test="starts-with($number-format-unit,'HH')">
  4880.                 <number:hours number:style="long"/>
  4881.             </xsl:when>
  4882.             <xsl:when test="starts-with($number-format-unit,'H')">
  4883.                 <number:hours/>
  4884.             </xsl:when>
  4885.             <xsl:when test="starts-with($number-format-unit,'SS.00')">
  4886.                 <number:seconds number:style="long" number:decimal-places="2"/>
  4887.             </xsl:when>
  4888.             <xsl:when test="starts-with($number-format-unit,'SS')">
  4889.                 <number:seconds number:style="long"/>
  4890.             </xsl:when>
  4891.             <xsl:when test="starts-with($number-format-unit,'S')">
  4892.                 <number:seconds/>
  4893.             </xsl:when>
  4894.             <xsl:when test="starts-with($number-format-unit,'AM/PM')">
  4895.                 <number:am-pm/>
  4896.             </xsl:when>
  4897.             <xsl:when test="starts-with($number-format-unit,'NNNN')">
  4898.                 <number:day-of-week number:style="long"/>
  4899.             </xsl:when>
  4900.             <xsl:when test="starts-with($number-format-unit,'NNN')">
  4901.                 <number:day-of-week/>
  4902.             </xsl:when>
  4903.             <xsl:when test="starts-with($number-format-unit,'QQ')">
  4904.                 <number:quarter number:style="long"/>
  4905.             </xsl:when>
  4906.             <xsl:when test="starts-with($number-format-unit,'Q')">
  4907.                 <number:quarter/>
  4908.             </xsl:when>
  4909.             <xsl:when test="starts-with($number-format-unit,'WW')">
  4910.                 <number:week-of-year/>
  4911.             </xsl:when>
  4912.             <xsl:when test="starts-with($number-format-unit,'MM')">
  4913.                 <xsl:choose>
  4914.                     <xsl:when test="starts-with(substring($number-format-unit,3),'S') or (starts-with(substring($number-format-unit,3),'"')  and starts-with(substring-after(substring-after($number-format-unit,'"'),'"'),'S'))">
  4915.                         <number:minutes number:style="long"/>
  4916.                     </xsl:when>
  4917.                     <xsl:otherwise>
  4918.                         <number:month number:style="long"/>
  4919.                     </xsl:otherwise>
  4920.                 </xsl:choose>
  4921.             </xsl:when>
  4922.             <xsl:when test="starts-with($number-format-unit,'M')">
  4923.                 <xsl:choose>
  4924.                     <xsl:when test="starts-with(substring($number-format-unit,2),'S') or (starts-with(substring($number-format-unit,2),'"') and starts-with(substring-after(substring-after($number-format-unit,'"'),'"'),'S'))">
  4925.                         <number:minutes/>
  4926.                     </xsl:when>
  4927.                     <xsl:otherwise>
  4928.                         <number:month/>
  4929.                     </xsl:otherwise>
  4930.                 </xsl:choose>
  4931.             </xsl:when>
  4932.             <xsl:when test="starts-with($number-format-unit,'#') or starts-with($number-format-unit,'0')">
  4933.                 <xsl:variable name="digits-part">
  4934.                     <xsl:choose>
  4935.                         <xsl:when test="contains($number-format-unit,'"')">
  4936.                             <xsl:value-of select="substring-before($number-format-unit,'"')"/>
  4937.                         </xsl:when>
  4938.                         <xsl:otherwise>
  4939.                             <xsl:value-of select="$number-format-unit"/>
  4940.                         </xsl:otherwise>
  4941.                     </xsl:choose>
  4942.                 </xsl:variable>
  4943.                 <xsl:call-template name="decimal-integer-exponent-fraction">
  4944.                     <xsl:with-param name="digits-part" select="$digits-part"/>
  4945.                 </xsl:call-template>
  4946.             </xsl:when>
  4947.         </xsl:choose>
  4948.         <xsl:variable name="unit-length">
  4949.             <xsl:choose>
  4950.                 <xsl:when test="starts-with($number-format-unit,'[value()')">
  4951.                     <xsl:value-of select="string-length(substring-before($number-format-unit,']')) +2"/>
  4952.                 </xsl:when>
  4953.                 <xsl:when test="starts-with($number-format-unit,'[NatNum')">
  4954.                     <xsl:value-of select="string-length(substring-before($number-format-unit,']')) +2"/>
  4955.                 </xsl:when>
  4956.                 <xsl:when test="starts-with($number-format-unit,'[$-804]')">8</xsl:when>
  4957.                 <xsl:when test="starts-with($number-format-unit,'"')">
  4958.                     <xsl:value-of select="string-length(substring-before(substring-after($number-format-unit,'"'),'"')) +3"/>
  4959.                 </xsl:when>
  4960.                 <xsl:when test="starts-with($number-format-unit,'@')">2</xsl:when>
  4961.                 <xsl:when test="starts-with($number-format-unit,'-') or starts-with($number-format-unit,'$') or starts-with($number-format-unit,'∩┐Ñ')">2</xsl:when>
  4962.                 <xsl:when test="starts-with($number-format-unit,'YYYY')">5</xsl:when>
  4963.                 <xsl:when test="starts-with($number-format-unit,'YY')">3</xsl:when>
  4964.                 <xsl:when test="starts-with($number-format-unit,'MMMM')">5</xsl:when>
  4965.                 <xsl:when test="starts-with($number-format-unit,'MMM')">4</xsl:when>
  4966.                 <xsl:when test="starts-with($number-format-unit,'MM')">3</xsl:when>
  4967.                 <xsl:when test="starts-with($number-format-unit,'M')">2</xsl:when>
  4968.                 <xsl:when test="starts-with($number-format-unit,'DD')">3</xsl:when>
  4969.                 <xsl:when test="starts-with($number-format-unit,'D')">2</xsl:when>
  4970.                 <xsl:when test="starts-with($number-format-unit,'[HH]')">5</xsl:when>
  4971.                 <xsl:when test="starts-with($number-format-unit,'HH')">3</xsl:when>
  4972.                 <xsl:when test="starts-with($number-format-unit,'H')">2</xsl:when>
  4973.                 <xsl:when test="starts-with($number-format-unit,'SS.00')">6</xsl:when>
  4974.                 <xsl:when test="starts-with($number-format-unit,'SS')">3</xsl:when>
  4975.                 <xsl:when test="starts-with($number-format-unit,'S')">2</xsl:when>
  4976.                 <xsl:when test="starts-with($number-format-unit,'AM/PM')">6</xsl:when>
  4977.                 <xsl:when test="starts-with($number-format-unit,'NNNN')">5</xsl:when>
  4978.                 <xsl:when test="starts-with($number-format-unit,'NNN')">4</xsl:when>
  4979.                 <xsl:when test="starts-with($number-format-unit,'QQ')">3</xsl:when>
  4980.                 <xsl:when test="starts-with($number-format-unit,'Q')">2</xsl:when>
  4981.                 <xsl:when test="starts-with($number-format-unit,'WW')">3</xsl:when>
  4982.                 <xsl:when test="starts-with($number-format-unit,'#') or starts-with($number-format-unit,'0')">
  4983.                     <xsl:choose>
  4984.                         <xsl:when test="contains($number-format-unit,'"')">
  4985.                             <xsl:value-of select="string-length(substring-before($number-format-unit,'"')) +1"/>
  4986.                         </xsl:when>
  4987.                         <xsl:otherwise>
  4988.                             <xsl:value-of select="string-length($number-format-unit) +1"/>
  4989.                         </xsl:otherwise>
  4990.                     </xsl:choose>
  4991.                 </xsl:when>
  4992.                 <xsl:otherwise>1</xsl:otherwise>
  4993.             </xsl:choose>
  4994.         </xsl:variable>
  4995.         <xsl:if test="$unit-length >1 and $unit-length <=string-length($number-format-unit)">
  4996.             <xsl:call-template name="general-number">
  4997.                 <xsl:with-param name="number-format-unit" select="substring($number-format-unit,$unit-length)"/>
  4998.             </xsl:call-template>
  4999.         </xsl:if>
  5000.     </xsl:template>
  5001.     <xsl:template name="decimal-integer-exponent-fraction">
  5002.         <xsl:param name="digits-part"/>
  5003.         <xsl:variable name="decimal-digits">
  5004.             <xsl:choose>
  5005.                 <xsl:when test="contains($digits-part,'.')">
  5006.                     <xsl:choose>
  5007.                         <xsl:when test="contains($digits-part,' ')">
  5008.                             <xsl:value-of select="string-length(substring-before(substring-after($digits-part,'.'),' '))"/>
  5009.                         </xsl:when>
  5010.                         <xsl:when test="contains(substring-after($digits-part,'.'),',')">
  5011.                             <xsl:value-of select="string-length(substring-before(substring-after($digits-part,'.'),','))"/>
  5012.                         </xsl:when>
  5013.                         <xsl:when test="contains($digits-part,'E')">
  5014.                             <xsl:value-of select="string-length(substring-before(substring-after($digits-part,'.'),'E'))"/>
  5015.                         </xsl:when>
  5016.                         <xsl:when test="contains($digits-part,'e')">
  5017.                             <xsl:value-of select="string-length(substring-before(substring-after($digits-part,'.'),'e'))"/>
  5018.                         </xsl:when>
  5019.                         <xsl:otherwise>
  5020.                             <xsl:value-of select="string-length(substring-after($digits-part,'.'))"/>
  5021.                         </xsl:otherwise>
  5022.                     </xsl:choose>
  5023.                 </xsl:when>
  5024.                 <xsl:otherwise>0</xsl:otherwise>
  5025.             </xsl:choose>
  5026.         </xsl:variable>
  5027.         <xsl:variable name="decimal-replacement">
  5028.             <xsl:choose>
  5029.                 <xsl:when test="contains($digits-part,'.')">
  5030.                     <xsl:choose>
  5031.                         <xsl:when test="contains($digits-part,' ') and contains(substring-before(substring-after($digits-part,'.'),' '),'#')">true</xsl:when>
  5032.                         <xsl:when test="contains($digits-part,'E') and contains(substring-before(substring-after($digits-part,'.'),'E'),'#')">true</xsl:when>
  5033.                         <xsl:when test="contains($digits-part,'e') and contains(substring-before(substring-after($digits-part,'.'),'e'),'#')">true</xsl:when>
  5034.                         <xsl:otherwise>
  5035.                             <xsl:choose>
  5036.                                 <xsl:when test="contains(substring-after($digits-part,'.'),'#')">true</xsl:when>
  5037.                                 <xsl:otherwise>false</xsl:otherwise>
  5038.                             </xsl:choose>
  5039.                         </xsl:otherwise>
  5040.                     </xsl:choose>
  5041.                 </xsl:when>
  5042.                 <xsl:otherwise>false</xsl:otherwise>
  5043.             </xsl:choose>
  5044.         </xsl:variable>
  5045.         <xsl:variable name="integer-digits">
  5046.             <xsl:choose>
  5047.                 <xsl:when test="contains($digits-part,'.')">
  5048.                     <xsl:value-of select="string-length(substring-before($digits-part,'.')) - string-length(translate(substring-before($digits-part,'.'),'0',''))"/>
  5049.                 </xsl:when>
  5050.                 <xsl:otherwise>
  5051.                     <xsl:value-of select="string-length($digits-part) - string-length(translate($digits-part,'0',''))"/>
  5052.                 </xsl:otherwise>
  5053.             </xsl:choose>
  5054.         </xsl:variable>
  5055.         <xsl:variable name="factor-digits">
  5056.             <xsl:call-template name="display-factor-digits">
  5057.                 <xsl:with-param name="digits-part" select="$digits-part"/>
  5058.                 <xsl:with-param name="count" select="0"/>
  5059.             </xsl:call-template>
  5060.         </xsl:variable>
  5061.         <xsl:variable name="grouping">
  5062.             <xsl:choose>
  5063.                 <xsl:when test="(string-length($digits-part) - string-length(translate($digits-part,',',''))) >$factor-digits">true</xsl:when>
  5064.                 <xsl:otherwise>false</xsl:otherwise>
  5065.             </xsl:choose>
  5066.         </xsl:variable>
  5067.         <xsl:variable name="exponent-digits">
  5068.             <xsl:choose>
  5069.                 <xsl:when test="contains($digits-part,'E')">
  5070.                     <xsl:value-of select="string-length(substring-after($digits-part,'E')) -1"/>
  5071.                 </xsl:when>
  5072.                 <xsl:when test="contains($digits-part,'e')">
  5073.                     <xsl:value-of select="string-length(substring-after($digits-part,'e')) -1"/>
  5074.                 </xsl:when>
  5075.                 <xsl:otherwise>0</xsl:otherwise>
  5076.             </xsl:choose>
  5077.         </xsl:variable>
  5078.         <xsl:variable name="numerator-digits">
  5079.             <xsl:choose>
  5080.                 <xsl:when test="contains($digits-part,' ')">
  5081.                     <xsl:value-of select="string-length(substring-before(substring-after($digits-part,' '),'/'))"/>
  5082.                 </xsl:when>
  5083.                 <xsl:otherwise>0</xsl:otherwise>
  5084.             </xsl:choose>
  5085.         </xsl:variable>
  5086.         <xsl:variable name="denominator-digits">
  5087.             <xsl:choose>
  5088.                 <xsl:when test="contains($digits-part,' ')">
  5089.                     <xsl:value-of select="string-length(substring-after(substring-after($digits-part,' '),'/'))"/>
  5090.                 </xsl:when>
  5091.                 <xsl:otherwise>0</xsl:otherwise>
  5092.             </xsl:choose>
  5093.         </xsl:variable>
  5094.         <xsl:variable name="number-type">
  5095.             <xsl:choose>
  5096.                 <xsl:when test="$exponent-digits >0">number:scientific-number</xsl:when>
  5097.                 <xsl:when test="($numerator-digits >0) or ($denominator-digits >0)">number:fraction</xsl:when>
  5098.                 <xsl:otherwise>number:number</xsl:otherwise>
  5099.             </xsl:choose>
  5100.         </xsl:variable>
  5101.         <xsl:element name="{$number-type}">
  5102.             <xsl:if test="$decimal-digits >=0">
  5103.                 <xsl:attribute name="number:decimal-places"><xsl:value-of select="$decimal-digits"/></xsl:attribute>
  5104.             </xsl:if>
  5105.             <xsl:if test="$decimal-replacement='true'">
  5106.                 <xsl:attribute name="number:decimal-replacement"/>
  5107.             </xsl:if>
  5108.             <xsl:if test="$integer-digits >=0">
  5109.                 <xsl:attribute name="number:min-integer-digits"><xsl:value-of select="$integer-digits"/></xsl:attribute>
  5110.             </xsl:if>
  5111.             <xsl:if test="$grouping='true'">
  5112.                 <xsl:attribute name="number:grouping"><xsl:value-of select="$grouping"/></xsl:attribute>
  5113.             </xsl:if>
  5114.             <xsl:if test="$factor-digits >0">
  5115.                 <xsl:attribute name="number:display-factor"><xsl:choose><xsl:when test="$factor-digits=1">1000</xsl:when><xsl:when test="$factor-digits=2">1000000</xsl:when><xsl:when test="$factor-digits=3">1000000000</xsl:when><xsl:when test="$factor-digits=4">1000000000000</xsl:when><xsl:when test="$factor-digits=5">1000000000000000</xsl:when><xsl:when test="$factor-digits=6">1000000000000000000</xsl:when><xsl:otherwise>0</xsl:otherwise></xsl:choose></xsl:attribute>
  5116.             </xsl:if>
  5117.             <xsl:if test="$exponent-digits >0">
  5118.                 <xsl:attribute name="number:min-exponent-digits"><xsl:value-of select="$exponent-digits"/></xsl:attribute>
  5119.             </xsl:if>
  5120.             <xsl:if test="$numerator-digits >0">
  5121.                 <xsl:attribute name="number:min-numerator-digits"><xsl:value-of select="$numerator-digits"/></xsl:attribute>
  5122.             </xsl:if>
  5123.             <xsl:if test="$denominator-digits >0">
  5124.                 <xsl:attribute name="number:min-denominator-digits"><xsl:value-of select="$denominator-digits"/></xsl:attribute>
  5125.             </xsl:if>
  5126.         </xsl:element>
  5127.     </xsl:template>
  5128.     <xsl:template name="number-format-color">
  5129.         <xsl:param name="number-format-unit"/>
  5130.         <xsl:choose>
  5131.             <xsl:when test="starts-with($number-format-unit,'[Black]')">
  5132.                 <style:text-properties fo:color="#000000"/>
  5133.             </xsl:when>
  5134.             <xsl:when test="starts-with($number-format-unit,'[Blue]')">
  5135.                 <style:text-properties fo:color="#0000ff"/>
  5136.             </xsl:when>
  5137.             <xsl:when test="starts-with($number-format-unit,'[Cyan]')">
  5138.                 <style:text-properties fo:color="#00ffff"/>
  5139.             </xsl:when>
  5140.             <xsl:when test="starts-with($number-format-unit,'[Green]')">
  5141.                 <style:text-properties fo:color="#00ff00"/>
  5142.             </xsl:when>
  5143.             <xsl:when test="starts-with($number-format-unit,'[Magenta]')">
  5144.                 <style:text-properties fo:color="#ff00ff"/>
  5145.             </xsl:when>
  5146.             <xsl:when test="starts-with($number-format-unit,'[Red]')">
  5147.                 <style:text-properties fo:color="#ff0000"/>
  5148.             </xsl:when>
  5149.             <xsl:when test="starts-with($number-format-unit,'[White]')">
  5150.                 <style:text-properties fo:color="#ffffff"/>
  5151.             </xsl:when>
  5152.             <xsl:when test="starts-with($number-format-unit,'[Yellow]')">
  5153.                 <style:text-properties fo:color="#ffff00"/>
  5154.             </xsl:when>
  5155.         </xsl:choose>
  5156.         <xsl:variable name="unit-length">
  5157.             <xsl:choose>
  5158.                 <xsl:when test="starts-with($number-format-unit,'[Black]')">8</xsl:when>
  5159.                 <xsl:when test="starts-with($number-format-unit,'[Blue]')">7</xsl:when>
  5160.                 <xsl:when test="starts-with($number-format-unit,'[Cyan]')">7</xsl:when>
  5161.                 <xsl:when test="starts-with($number-format-unit,'[Green]')">8</xsl:when>
  5162.                 <xsl:when test="starts-with($number-format-unit,'[Magenta]')">10</xsl:when>
  5163.                 <xsl:when test="starts-with($number-format-unit,'[Red]')">6</xsl:when>
  5164.                 <xsl:when test="starts-with($number-format-unit,'[White]')">8</xsl:when>
  5165.                 <xsl:when test="starts-with($number-format-unit,'[Yellow]')">9</xsl:when>
  5166.                 <xsl:otherwise>1</xsl:otherwise>
  5167.             </xsl:choose>
  5168.         </xsl:variable>
  5169.         <xsl:if test="$unit-length >1 and $unit-length <=string-length($number-format-unit)">
  5170.             <xsl:call-template name="general-number">
  5171.                 <xsl:with-param name="number-format-unit" select="substring($number-format-unit,$unit-length)"/>
  5172.             </xsl:call-template>
  5173.         </xsl:if>
  5174.     </xsl:template>
  5175.     <xsl:template name="number-format-currency">
  5176.         <xsl:param name="number-format-unit"/>
  5177.         <xsl:choose>
  5178.             <xsl:when test="starts-with($number-format-unit,'[$∩┐Ñ-804]')">
  5179.                 <number:currency-symbol number:language="zh" number:country="CN">∩┐Ñ</number:currency-symbol>
  5180.             </xsl:when>
  5181.             <xsl:when test="starts-with($number-format-unit,'[$$-409]')">
  5182.                 <number:currency-symbol number:language="en" number:country="US">$</number:currency-symbol>
  5183.             </xsl:when>
  5184.             <xsl:when test="starts-with($number-format-unit,'[$$-2C0A]')">
  5185.                 <number:currency-symbol number:language="es" number:country="AR">$</number:currency-symbol>
  5186.             </xsl:when>
  5187.             <xsl:when test="starts-with($number-format-unit,'[$$-C0C]')">
  5188.                 <number:currency-symbol number:language="fr" number:country="CA">$</number:currency-symbol>
  5189.             </xsl:when>
  5190.             <xsl:when test="starts-with($number-format-unit,'[$CNY]')">
  5191.                 <number:currency-symbol>CNY</number:currency-symbol>
  5192.             </xsl:when>
  5193.             <xsl:when test="starts-with($number-format-unit,'[$AFA]')">
  5194.                 <number:currency-symbol>AFA</number:currency-symbol>
  5195.             </xsl:when>
  5196.             <xsl:when test="starts-with($number-format-unit,'CNY')">
  5197.                 <number:currency-symbol>CNY</number:currency-symbol>
  5198.             </xsl:when>
  5199.             <xsl:when test="starts-with($number-format-unit,'CCC')">
  5200.                 <number:currency-symbol>CCC</number:currency-symbol>
  5201.             </xsl:when>
  5202.         </xsl:choose>
  5203.         <xsl:variable name="unit-length">
  5204.             <xsl:choose>
  5205.                 <xsl:when test="starts-with($number-format-unit,'[$∩┐Ñ-804]')">9</xsl:when>
  5206.                 <xsl:when test="starts-with($number-format-unit,'[$$-409]')">9</xsl:when>
  5207.                 <xsl:when test="starts-with($number-format-unit,'[$$-2C0A]')">10</xsl:when>
  5208.                 <xsl:when test="starts-with($number-format-unit,'[$$-C0C]')">9</xsl:when>
  5209.                 <xsl:when test="starts-with($number-format-unit,'[$CNY]')">7</xsl:when>
  5210.                 <xsl:when test="starts-with($number-format-unit,'[$AFA]')">7</xsl:when>
  5211.                 <xsl:when test="starts-with($number-format-unit,'CNY')">4</xsl:when>
  5212.                 <xsl:when test="starts-with($number-format-unit,'CCC')">4</xsl:when>
  5213.                 <xsl:otherwise>1</xsl:otherwise>
  5214.             </xsl:choose>
  5215.         </xsl:variable>
  5216.         <xsl:if test="$unit-length >1 and $unit-length <=string-length($number-format-unit)">
  5217.             <xsl:call-template name="general-number">
  5218.                 <xsl:with-param name="number-format-unit" select="substring($number-format-unit,$unit-length)"/>
  5219.             </xsl:call-template>
  5220.         </xsl:if>
  5221.     </xsl:template>
  5222.     <xsl:template name="display-factor-digits">
  5223.         <xsl:param name="digits-part"/>
  5224.         <xsl:param name="count"/>
  5225.         <xsl:choose>
  5226.             <xsl:when test="not(substring($digits-part,string-length($digits-part),1) =',')">
  5227.                 <xsl:value-of select="$count"/>
  5228.             </xsl:when>
  5229.             <xsl:otherwise>
  5230.                 <xsl:call-template name="display-factor-digits">
  5231.                     <xsl:with-param name="digits-part" select="substring($digits-part,1,string-length($digits-part) -1)"/>
  5232.                     <xsl:with-param name="count" select="$count +1"/>
  5233.                 </xsl:call-template>
  5234.             </xsl:otherwise>
  5235.         </xsl:choose>
  5236.     </xsl:template>
  5237.     <xsl:template name="element-attribute">
  5238.         <xsl:param name="number-format-unit"/>
  5239.         <xsl:if test="contains($number-format-unit,'[HH]')">
  5240.             <xsl:attribute name="number:truncate-on-overflow">false</xsl:attribute>
  5241.         </xsl:if>
  5242.         <xsl:if test="starts-with($number-format-unit,'[NatNum1]')">
  5243.             <xsl:attribute name="number:transliteration-format">Σ╕Ç</xsl:attribute>
  5244.             <xsl:attribute name="number:transliteration-style">short</xsl:attribute>
  5245.         </xsl:if>
  5246.         <xsl:if test="starts-with($number-format-unit,'[NatNum2]')">
  5247.             <xsl:attribute name="number:transliteration-format">σú╣</xsl:attribute>
  5248.             <xsl:attribute name="number:transliteration-style">short</xsl:attribute>
  5249.         </xsl:if>
  5250.         <xsl:if test="starts-with($number-format-unit,'[NatNum3]')">
  5251.             <xsl:attribute name="number:transliteration-format">∩╝æ</xsl:attribute>
  5252.             <xsl:attribute name="number:transliteration-style">short</xsl:attribute>
  5253.         </xsl:if>
  5254.         <xsl:if test="starts-with($number-format-unit,'[NatNum4]')">
  5255.             <xsl:attribute name="number:transliteration-format">Σ╕Ç</xsl:attribute>
  5256.             <xsl:attribute name="number:transliteration-style">long</xsl:attribute>
  5257.         </xsl:if>
  5258.         <xsl:if test="starts-with($number-format-unit,'[NatNum5]')">
  5259.             <xsl:attribute name="number:transliteration-format">σú╣</xsl:attribute>
  5260.             <xsl:attribute name="number:transliteration-style">long</xsl:attribute>
  5261.         </xsl:if>
  5262.         <xsl:if test="starts-with($number-format-unit,'[NatNum6]')">
  5263.             <xsl:attribute name="number:transliteration-format">∩╝æ</xsl:attribute>
  5264.             <xsl:attribute name="number:transliteration-style">long</xsl:attribute>
  5265.         </xsl:if>
  5266.         <xsl:if test="starts-with($number-format-unit,'[NatNum7]')">
  5267.             <xsl:attribute name="number:transliteration-format">Σ╕Ç</xsl:attribute>
  5268.             <xsl:attribute name="number:transliteration-style">medium</xsl:attribute>
  5269.         </xsl:if>
  5270.         <xsl:if test="starts-with($number-format-unit,'[NatNum8]')">
  5271.             <xsl:attribute name="number:transliteration-format">σú╣</xsl:attribute>
  5272.             <xsl:attribute name="number:transliteration-style">medium</xsl:attribute>
  5273.         </xsl:if>
  5274.         <xsl:if test="starts-with($number-format-unit,'[NatNum0]')">
  5275.             <xsl:attribute name="number:transliteration-format">1</xsl:attribute>
  5276.             <xsl:attribute name="number:transliteration-style">short</xsl:attribute>
  5277.         </xsl:if>
  5278.         <xsl:if test="contains($number-format-unit,'[$-804]')">
  5279.             <xsl:attribute name="number:transliteration-language">zh</xsl:attribute>
  5280.             <xsl:attribute name="number:transliteration-country">CN</xsl:attribute>
  5281.         </xsl:if>
  5282.     </xsl:template>
  5283.     <xsl:key name="pz" match="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/σ¢╛:σ¢╛σ╜ó" use="@σ¢╛:µáçΦ»åτ¼ª"/>
  5284.     <xsl:template match="Φí¿:µë╣µ│¿" mode="body">
  5285.         <xsl:element name="office:annotation">
  5286.             <xsl:if test="@Φí¿:µÿ»σɪµÿ╛τñ║ = 'true'">
  5287.                 <xsl:attribute name="office:display">true</xsl:attribute>
  5288.             </xsl:if>
  5289.             <xsl:attribute name="draw:style-name"><xsl:value-of select="uof:ΘöÜτé╣/@uof:σ¢╛σ╜óσ╝òτö¿"/></xsl:attribute>
  5290.             <xsl:attribute name="svg:height"><xsl:value-of select="concat(uof:ΘöÜτé╣/@uof:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  5291.             <xsl:attribute name="svg:x"><xsl:value-of select="concat(uof:ΘöÜτé╣/@uof:xσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  5292.             <xsl:attribute name="svg:y"><xsl:value-of select="concat(uof:ΘöÜτé╣/@uof:yσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  5293.             <xsl:attribute name="svg:width"><xsl:value-of select="concat(uof:ΘöÜτé╣/@uof:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  5294.             <xsl:variable name="w">
  5295.                 <xsl:value-of select="./uof:ΘöÜτé╣/@uof:σ¢╛σ╜óσ╝òτö¿"/>
  5296.             </xsl:variable>
  5297.             <xsl:choose>
  5298.                 <xsl:when test="key('pz',$w)/σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓">
  5299.                     <text:p>
  5300.                         <xsl:for-each select="key('pz',$w)/σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:σÅÑ">
  5301.                             <text:span>
  5302.                                 <xsl:if test="σ¡ù:σÅÑσ▒₧µÇº/@σ¡ù:σ╝ŵá╖σ╝òτö¿">
  5303.                                     <xsl:attribute name="text:style-name"><xsl:value-of select="σ¡ù:σÅÑσ▒₧µÇº/@σ¡ù:σ╝ŵá╖σ╝òτö¿"/></xsl:attribute>
  5304.                                 </xsl:if>
  5305.                                 <xsl:value-of select="σ¡ù:µûçµ£¼Σ╕▓"/>
  5306.                             </text:span>
  5307.                         </xsl:for-each>
  5308.                     </text:p>
  5309.                 </xsl:when>
  5310.             </xsl:choose>
  5311.             <!--xsl:if test="σ¢╛:µûçµ£¼σåàσ«╣/σ¡ù:µ«╡ΦÉ╜/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓">
  5312.                 <text:p>
  5313.                     <xsl:call-template name="create-comment-data-content">
  5314.                         <xsl:with-param name="style-id" select="../@Φí¿:σ╝ŵá╖σ╝òτö¿"/>
  5315.                     </xsl:call-template>
  5316.                 </text:p>
  5317.             </xsl:if-->
  5318.         </xsl:element>
  5319.     </xsl:template>
  5320.     <xsl:template name="auto-filter-condition">
  5321.         <xsl:param name="conditon-set"/>
  5322.         <xsl:param name="zone-left-column-num"/>
  5323.         <xsl:if test="$conditon-set">
  5324.             <xsl:variable name="first-condition" select="$conditon-set[1]"/>
  5325.             <xsl:element name="table:filter-condition">
  5326.                 <xsl:attribute name="table:field-number"><xsl:value-of select="$first-condition/@Φí¿:σêùσÅ╖ - $zone-left-column-num"/></xsl:attribute>
  5327.                 <xsl:attribute name="office:value"><xsl:choose><xsl:when test="$first-condition/Φí¿:µÖ«ΘÇÜ"><xsl:value-of select="$first-condition/Φí¿:µÖ«ΘÇÜ/@Φí¿:σÇ╝"/></xsl:when><xsl:when test="$first-condition/Φí¿:Φç¬σ«ÜΣ╣ë"><xsl:value-of select="$first-condition/Φí¿:Φç¬σ«ÜΣ╣ë/Φí¿:µôìΣ╜£µ¥íΣ╗╢/Φí¿:σÇ╝"/></xsl:when></xsl:choose></xsl:attribute>
  5328.                 <xsl:variable name="operator">
  5329.                     <xsl:choose>
  5330.                         <xsl:when test="$first-condition/Φí¿:µÖ«ΘÇÜ">
  5331.                             <xsl:variable name="general" select="$first-condition/Φí¿:µÖ«ΘÇÜ/@Φí¿:τ▒╗σ₧ï"/>
  5332.                             <xsl:choose>
  5333.                                 <xsl:when test="$general ='topitem'">top values</xsl:when>
  5334.                             </xsl:choose>
  5335.                         </xsl:when>
  5336.                         <xsl:when test="$first-condition/Φí¿:Φç¬σ«ÜΣ╣ë">
  5337.                             <xsl:variable name="operator-text" select="$first-condition/Φí¿:Φç¬σ«ÜΣ╣ë/Φí¿:µôìΣ╜£µ¥íΣ╗╢/Φí¿:µôìΣ╜£τáü/text()"/>
  5338.                             <xsl:choose>
  5339.                                 <xsl:when test="$operator-text ='less than'"><</xsl:when>
  5340.                                 <xsl:when test="$operator-text ='greater than'">></xsl:when>
  5341.                                 <xsl:when test="$operator-text ='equal to'">
  5342.                                     <xsl:value-of select="'='"/>
  5343.                                 </xsl:when>
  5344.                                 <xsl:when test="$operator-text ='greater than or equal to'">
  5345.                                     <xsl:value-of select="'>='"/>
  5346.                                 </xsl:when>
  5347.                                 <xsl:when test="$operator-text ='less than or equal to'">
  5348.                                     <xsl:value-of select="'<='"/>
  5349.                                 </xsl:when>
  5350.                                 <xsl:when test="$operator-text ='not equal to'">
  5351.                                     <xsl:value-of select="'!='"/>
  5352.                                 </xsl:when>
  5353.                             </xsl:choose>
  5354.                         </xsl:when>
  5355.                     </xsl:choose>
  5356.                 </xsl:variable>
  5357.                 <xsl:attribute name="table:operator"><xsl:value-of select="$operator"/></xsl:attribute>
  5358.             </xsl:element>
  5359.             <xsl:call-template name="auto-filter-condition">
  5360.                 <xsl:with-param name="conditon-set" select="$conditon-set[position()!=1]"/>
  5361.                 <xsl:with-param name="zone-left-column-num" select="$zone-left-column-num"/>
  5362.             </xsl:call-template>
  5363.         </xsl:if>
  5364.     </xsl:template>
  5365.     <xsl:template name="translate-column-char-to-number">
  5366.         <xsl:param name="string"/>
  5367.         <xsl:choose>
  5368.             <xsl:when test="string-length($string)=1">
  5369.                 <xsl:call-template name="char-to-number">
  5370.                     <xsl:with-param name="char" select="$string"/>
  5371.                 </xsl:call-template>
  5372.             </xsl:when>
  5373.             <xsl:otherwise>
  5374.                 <xsl:variable name="tens-place">
  5375.                     <xsl:call-template name="char-to-number">
  5376.                         <xsl:with-param name="char" select="substring($string,1,1)"/>
  5377.                     </xsl:call-template>
  5378.                 </xsl:variable>
  5379.                 <xsl:variable name="units-place">
  5380.                     <xsl:call-template name="char-to-number">
  5381.                         <xsl:with-param name="char" select="substring($string,2,1)"/>
  5382.                     </xsl:call-template>
  5383.                 </xsl:variable>
  5384.                 <xsl:value-of select="$tens-place * 26 + $units-place"/>
  5385.             </xsl:otherwise>
  5386.         </xsl:choose>
  5387.     </xsl:template>
  5388.     <xsl:template name="char-to-number">
  5389.         <xsl:param name="char"/>
  5390.         <xsl:choose>
  5391.             <xsl:when test="$char='A'">1</xsl:when>
  5392.             <xsl:when test="$char='B'">2</xsl:when>
  5393.             <xsl:when test="$char='C'">3</xsl:when>
  5394.             <xsl:when test="$char='D'">4</xsl:when>
  5395.             <xsl:when test="$char='E'">5</xsl:when>
  5396.             <xsl:when test="$char='F'">6</xsl:when>
  5397.             <xsl:when test="$char='G'">7</xsl:when>
  5398.             <xsl:when test="$char='H'">8</xsl:when>
  5399.             <xsl:when test="$char='I'">9</xsl:when>
  5400.             <xsl:when test="$char='J'">10</xsl:when>
  5401.             <xsl:when test="$char='K'">11</xsl:when>
  5402.             <xsl:when test="$char='L'">12</xsl:when>
  5403.             <xsl:when test="$char='M'">13</xsl:when>
  5404.             <xsl:when test="$char='N'">14</xsl:when>
  5405.             <xsl:when test="$char='O'">15</xsl:when>
  5406.             <xsl:when test="$char='P'">16</xsl:when>
  5407.             <xsl:when test="$char='Q'">17</xsl:when>
  5408.             <xsl:when test="$char='R'">18</xsl:when>
  5409.             <xsl:when test="$char='S'">19</xsl:when>
  5410.             <xsl:when test="$char='T'">20</xsl:when>
  5411.             <xsl:when test="$char='U'">21</xsl:when>
  5412.             <xsl:when test="$char='V'">22</xsl:when>
  5413.             <xsl:when test="$char='W'">23</xsl:when>
  5414.             <xsl:when test="$char='X'">24</xsl:when>
  5415.             <xsl:when test="$char='Y'">25</xsl:when>
  5416.             <xsl:when test="$char='Z'">26</xsl:when>
  5417.         </xsl:choose>
  5418.     </xsl:template>
  5419.     <xsl:template name="translate-expression2">
  5420.         <xsl:param name="expression2"/>
  5421.         <xsl:choose>
  5422.             <xsl:when test="contains($expression2,':')">
  5423.                 <xsl:variable name="column-one">
  5424.                     <xsl:value-of select="substring(substring-before($expression2,':'),1,1)"/>
  5425.                 </xsl:variable>
  5426.                 <xsl:variable name="row-one">
  5427.                     <xsl:value-of select="substring(substring-before($expression2,':'),2)"/>
  5428.                 </xsl:variable>
  5429.                 <xsl:variable name="column-two">
  5430.                     <xsl:value-of select="substring(substring-after($expression2,':'),1,1)"/>
  5431.                 </xsl:variable>
  5432.                 <xsl:variable name="row-two">
  5433.                     <xsl:value-of select="substring(substring-after($expression2,':'),2)"/>
  5434.                 </xsl:variable>
  5435.                 <xsl:variable name="column-value1">
  5436.                     <xsl:call-template name="character-to-column">
  5437.                         <xsl:with-param name="column-value" select="$column-one"/>
  5438.                     </xsl:call-template>
  5439.                 </xsl:variable>
  5440.                 <xsl:variable name="column-value2">
  5441.                     <xsl:call-template name="character-to-column">
  5442.                         <xsl:with-param name="column-value" select="$column-two"/>
  5443.                     </xsl:call-template>
  5444.                 </xsl:variable>
  5445.                 <xsl:value-of select="concat('R',$row-one,'C',$column-value1,':','R',$row-two,'C',$column-value2)"/>
  5446.             </xsl:when>
  5447.             <xsl:otherwise>
  5448.                 <xsl:variable name="column-one">
  5449.                     <xsl:value-of select="substring($expression2,1,1)"/>
  5450.                 </xsl:variable>
  5451.                 <xsl:variable name="row-one">
  5452.                     <xsl:value-of select="substring($expression2,2)"/>
  5453.                 </xsl:variable>
  5454.                 <xsl:variable name="column-value1">
  5455.                     <xsl:call-template name="character-to-column">
  5456.                         <xsl:with-param name="column-value" select="$column-one"/>
  5457.                     </xsl:call-template>
  5458.                 </xsl:variable>
  5459.                 <xsl:value-of select="concat('R',$row-one,'C',$column-value1)"/>
  5460.             </xsl:otherwise>
  5461.         </xsl:choose>
  5462.     </xsl:template>
  5463.     <xsl:template name="character-to-column">
  5464.         <xsl:param name="column-value"/>
  5465.         <xsl:choose>
  5466.             <xsl:when test="$column-value= 'A'">1</xsl:when>
  5467.             <xsl:when test="$column-value= 'B'">2</xsl:when>
  5468.             <xsl:when test="$column-value= 'C'">3</xsl:when>
  5469.             <xsl:when test="$column-value= 'D'">4</xsl:when>
  5470.             <xsl:when test="$column-value= 'E'">5</xsl:when>
  5471.             <xsl:when test="$column-value= 'F'">6</xsl:when>
  5472.             <xsl:when test="$column-value= 'G'">7</xsl:when>
  5473.             <xsl:when test="$column-value= 'H'">8</xsl:when>
  5474.             <xsl:when test="$column-value= 'I'">9</xsl:when>
  5475.             <xsl:when test="$column-value= 'J'">10</xsl:when>
  5476.             <xsl:when test="$column-value= 'K'">11</xsl:when>
  5477.             <xsl:when test="$column-value= 'L'">12</xsl:when>
  5478.             <xsl:when test="$column-value= 'M'">13</xsl:when>
  5479.             <xsl:when test="$column-value= 'N'">14</xsl:when>
  5480.             <xsl:when test="$column-value= 'O'">15</xsl:when>
  5481.             <xsl:when test="$column-value= 'P'">16</xsl:when>
  5482.             <xsl:when test="$column-value= 'Q'">17</xsl:when>
  5483.             <xsl:when test="$column-value= 'R'">18</xsl:when>
  5484.             <xsl:when test="$column-value= 'S'">19</xsl:when>
  5485.             <xsl:when test="$column-value= 'T'">20</xsl:when>
  5486.             <xsl:when test="$column-value= 'U'">21</xsl:when>
  5487.             <xsl:when test="$column-value= 'V'">22</xsl:when>
  5488.             <xsl:when test="$column-value= 'W'">23</xsl:when>
  5489.             <xsl:when test="$column-value= 'X'">24</xsl:when>
  5490.             <xsl:when test="$column-value= 'Y'">25</xsl:when>
  5491.             <xsl:when test="$column-value= 'Z'">26</xsl:when>
  5492.             <xsl:otherwise/>
  5493.         </xsl:choose>
  5494.     </xsl:template>
  5495.     <!--chenjh end 20050611-->
  5496.     <xsl:template name="σ╖ÑΣ╜£Φí¿σ▒₧µÇº">
  5497.         <!--office:settings-->
  5498.         <xsl:variable name="sheetprop" select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿"/>
  5499.         <config:config-item-set config:name="ooo:view-settings">
  5500.             <xsl:variable name="ratio" select="15"/>
  5501.             <xsl:if test="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî/Φí¿:σìòσàâµá╝/Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:Σ┐«Φ«óσ╝Çσºï">
  5502.                 <config:config-item-set config:name="TrackedChangesViewSettings">
  5503.                     <config:config-item config:name="ShowChanges" config:type="boolean">true</config:config-item>
  5504.                     <config:config-item config:name="ShowAcceptedChanges" config:type="boolean">false</config:config-item>
  5505.                     <config:config-item config:name="ShowRejectedChanges" config:type="boolean">false</config:config-item>
  5506.                     <config:config-item config:name="ShowChangesByDatetime" config:type="boolean">false</config:config-item>
  5507.                     <config:config-item config:name="ShowChangesByDatetimeMode" config:type="short">0</config:config-item>
  5508.                     <config:config-item config:name="ShowChangesByDatetimeFirstDatetime" config:type="datetime">2007-01-17T10:56:46.21</config:config-item>
  5509.                     <config:config-item config:name="ShowChangesByDatetimeSecondDatetime" config:type="datetime">2007-01-17T10:56:46.21</config:config-item>
  5510.                     <config:config-item config:name="ShowChangesByAuthor" config:type="boolean">false</config:config-item>
  5511.                     <config:config-item config:name="ShowChangesByAuthorName" config:type="string"/>
  5512.                     <config:config-item config:name="ShowChangesByComment" config:type="boolean">false</config:config-item>
  5513.                     <config:config-item config:name="ShowChangesByCommentText" config:type="string"/>
  5514.                     <config:config-item config:name="ShowChangesByRanges" config:type="boolean">false</config:config-item>
  5515.                     <config:config-item config:name="ShowChangesByRangesList" config:type="string"/>
  5516.                 </config:config-item-set>
  5517.             </xsl:if>
  5518.             <config:config-item-map-indexed config:name="Views">
  5519.                 <config:config-item-map-entry>
  5520.                     <config:config-item config:name="ViewId" config:type="string">View1</config:config-item>
  5521.                     <config:config-item-map-named config:name="Tables">
  5522.                         <xsl:for-each select="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛">
  5523.                             <xsl:element name="config:config-item-map-entry">
  5524.                                 <xsl:attribute name="config:name"><xsl:value-of select="ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/@Φí¿:σÉìτº░"/></xsl:attribute>
  5525.                                 <xsl:element name="config:config-item">
  5526.                                     <xsl:attribute name="config:name">HorizontalSplitMode</xsl:attribute>
  5527.                                     <xsl:attribute name="config:type">short</xsl:attribute>
  5528.                                     <xsl:choose>
  5529.                                         <xsl:when test="Φí¿:σå╗τ╗ô and Φí¿:σå╗τ╗ô/@Φí¿:σêùσÅ╖!=0">2</xsl:when>
  5530.                                         <xsl:when test="Φí¿:σå╗τ╗ô and Φí¿:σå╗τ╗ô/@Φí¿:σêùσÅ╖=0">0</xsl:when>
  5531.                                         <xsl:when test="Φí¿:µïåσêå and Φí¿:µïåσêå/@Φí¿:σ«╜σ║ª!=0">1</xsl:when>
  5532.                                         <xsl:when test="Φí¿:µïåσêå and Φí¿:µïåσêå/@Φí¿:σ«╜σ║ª=0">0</xsl:when>
  5533.                                     </xsl:choose>
  5534.                                 </xsl:element>
  5535.                                 <xsl:element name="config:config-item">
  5536.                                     <xsl:attribute name="config:name">VerticalSplitMode</xsl:attribute>
  5537.                                     <xsl:attribute name="config:type">short</xsl:attribute>
  5538.                                     <xsl:choose>
  5539.                                         <xsl:when test="Φí¿:σå╗τ╗ô and Φí¿:σå╗τ╗ô/@Φí¿:ΦíîσÅ╖!=0">2</xsl:when>
  5540.                                         <xsl:when test="Φí¿:σå╗τ╗ô and Φí¿:σå╗τ╗ô/@Φí¿:ΦíîσÅ╖=0">0</xsl:when>
  5541.                                         <xsl:when test="Φí¿:µïåσêå and Φí¿:µïåσêå/@Φí¿:Θ½ÿσ║ª!=0">1</xsl:when>
  5542.                                         <xsl:when test="Φí¿:µïåσêå and Φí¿:µïåσêå/@Φí¿:Θ½ÿσ║ª=0">0</xsl:when>
  5543.                                     </xsl:choose>
  5544.                                 </xsl:element>
  5545.                                 <xsl:element name="config:config-item">
  5546.                                     <xsl:attribute name="config:name">HorizontalSplitPosition</xsl:attribute>
  5547.                                     <xsl:attribute name="config:type">int</xsl:attribute>
  5548.                                     <xsl:choose>
  5549.                                         <xsl:when test="Φí¿:σå╗τ╗ô and Φí¿:σå╗τ╗ô/@Φí¿:σêùσÅ╖=0">0</xsl:when>
  5550.                                         <xsl:when test="Φí¿:σå╗τ╗ô and Φí¿:σå╗τ╗ô/@Φí¿:σêùσÅ╖!=0">
  5551.                                             <xsl:value-of select="Φí¿:σå╗τ╗ô/@Φí¿:σêùσÅ╖"/>
  5552.                                         </xsl:when>
  5553.                                         <xsl:when test="Φí¿:µïåσêå and Φí¿:µïåσêå/@Φí¿:σ«╜σ║ª=0">0</xsl:when>
  5554.                                         <xsl:when test="Φí¿:µïåσêå and Φí¿:µïåσêå/@Φí¿:σ«╜σ║ª!=0">
  5555.                                             <xsl:value-of select="Φí¿:µïåσêå/@Φí¿:σ«╜σ║ª"/>
  5556.                                         </xsl:when>
  5557.                                     </xsl:choose>
  5558.                                 </xsl:element>
  5559.                                 <xsl:element name="config:config-item">
  5560.                                     <xsl:attribute name="config:name">VerticalSplitPosition</xsl:attribute>
  5561.                                     <xsl:attribute name="config:type">int</xsl:attribute>
  5562.                                     <xsl:choose>
  5563.                                         <xsl:when test="Φí¿:σå╗τ╗ô and Φí¿:σå╗τ╗ô/@Φí¿:ΦíîσÅ╖=0">0</xsl:when>
  5564.                                         <xsl:when test="Φí¿:σå╗τ╗ô and Φí¿:σå╗τ╗ô/@Φí¿:ΦíîσÅ╖!=0">
  5565.                                             <xsl:value-of select="Φí¿:σå╗τ╗ô/@Φí¿:ΦíîσÅ╖"/>
  5566.                                         </xsl:when>
  5567.                                         <xsl:when test="Φí¿:µïåσêå and Φí¿:µïåσêå/@Φí¿:Θ½ÿσ║ª=0">0</xsl:when>
  5568.                                         <xsl:when test="Φí¿:µïåσêå and Φí¿:µïåσêå/@Φí¿:Θ½ÿσ║ª!=0">
  5569.                                             <xsl:value-of select="Φí¿:µïåσêå/@Φí¿:Θ½ÿσ║ª"/>
  5570.                                         </xsl:when>
  5571.                                     </xsl:choose>
  5572.                                 </xsl:element>
  5573.                                 <xsl:variable name="position-top">
  5574.                                     <xsl:choose>
  5575.                                         <xsl:when test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:µ£ÇΣ╕èΦíî">
  5576.                                             <xsl:value-of select="//Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:µ£ÇΣ╕èΦíî"/>
  5577.                                         </xsl:when>
  5578.                                         <xsl:otherwise>0</xsl:otherwise>
  5579.                                     </xsl:choose>
  5580.                                 </xsl:variable>
  5581.                                 <xsl:variable name="position-left">
  5582.                                     <xsl:choose>
  5583.                                         <xsl:when test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:µ£Çσ╖ªσêù">
  5584.                                             <xsl:value-of select="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:µ£Çσ╖ªσêù"/>
  5585.                                         </xsl:when>
  5586.                                         <xsl:otherwise>0</xsl:otherwise>
  5587.                                     </xsl:choose>
  5588.                                 </xsl:variable>
  5589.                                 <config:config-item config:name="PositionRight" config:type="int">
  5590.                                     <xsl:value-of select="$position-left"/>
  5591.                                 </config:config-item>
  5592.                                 <config:config-item config:name="PositionBottom" config:type="int">
  5593.                                     <xsl:value-of select="$position-top"/>
  5594.                                 </config:config-item>
  5595.                             </xsl:element>
  5596.                         </xsl:for-each>
  5597.                     </config:config-item-map-named>
  5598.                     <xsl:if test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:σ╜ôσëìΦºåσ¢╛">
  5599.                         <xsl:element name="config:config-item">
  5600.                             <xsl:attribute name="config:name">ShowPageBreakPreview</xsl:attribute>
  5601.                             <xsl:attribute name="config:type">boolean</xsl:attribute>
  5602.                             <xsl:choose>
  5603.                                 <xsl:when test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:σ╜ôσëìΦºåσ¢╛/@Φí¿:τ▒╗σ₧ï='normal'">false</xsl:when>
  5604.                                 <xsl:otherwise>true</xsl:otherwise>
  5605.                             </xsl:choose>
  5606.                         </xsl:element>
  5607.                     </xsl:if>
  5608.                     <xsl:if test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:τ╜æµá╝">
  5609.                         <xsl:element name="config:config-item">
  5610.                             <xsl:attribute name="config:name">ShowGrid</xsl:attribute>
  5611.                             <xsl:attribute name="config:type">boolean</xsl:attribute>
  5612.                             <xsl:choose>
  5613.                                 <xsl:when test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:τ╜æµá╝/@Φí¿:σÇ╝=1 or $sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:τ╜æµá╝/@Φí¿:σÇ╝='true'">true</xsl:when>
  5614.                                 <xsl:otherwise>false</xsl:otherwise>
  5615.                             </xsl:choose>
  5616.                         </xsl:element>
  5617.                     </xsl:if>
  5618.                     <xsl:if test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:τ╜æµá╝Θó£Φë▓">
  5619.                         <xsl:element name="config:config-item">
  5620.                             <xsl:attribute name="config:name">GridColor</xsl:attribute>
  5621.                             <xsl:attribute name="config:type">long</xsl:attribute>
  5622.                             <xsl:call-template name="transform-hex-to-decimal">
  5623.                                 <xsl:with-param name="number" select="//Φí¿:Φºåσ¢╛/Φí¿:τ╜æµá╝Θó£Φë▓/text()"/>
  5624.                             </xsl:call-template>
  5625.                         </xsl:element>
  5626.                     </xsl:if>
  5627.                     <xsl:if test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:ΘÇëΣ╕¡">
  5628.                         <xsl:element name="config:config-item">
  5629.                             <xsl:attribute name="config:name">ActiveTable</xsl:attribute>
  5630.                             <xsl:attribute name="config:type">string</xsl:attribute>
  5631.                             <xsl:value-of select="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛[Φí¿:ΘÇëΣ╕¡]/ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/@Φí¿:σÉìτº░"/>
  5632.                         </xsl:element>
  5633.                     </xsl:if>
  5634.                     <xsl:if test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:τ╝⌐µö╛">
  5635.                         <config:config-item config:name="ZoomValue" config:type="int">
  5636.                             <xsl:value-of select="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:τ╝⌐µö╛/text()"/>
  5637.                         </config:config-item>
  5638.                     </xsl:if>
  5639.                     <xsl:if test="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:σêåΘí╡τ╝⌐µö╛">
  5640.                         <config:config-item config:name="PageViewZoomValue" config:type="int">
  5641.                             <xsl:value-of select="$sheetprop/Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº/Φí¿:Φºåσ¢╛/Φí¿:σêåΘí╡τ╝⌐µö╛/text()"/>
  5642.                         </config:config-item>
  5643.                     </xsl:if>
  5644.                 </config:config-item-map-entry>
  5645.             </config:config-item-map-indexed>
  5646.         </config:config-item-set>
  5647.     </xsl:template>
  5648.     <xsl:template name="create-page-master">
  5649.         <xsl:param name="worksheetoptions"/>
  5650.         <xsl:for-each select="$worksheetoptions">
  5651.             <xsl:element name="style:page-layout">
  5652.                 <xsl:attribute name="style:name"><xsl:call-template name="encode-as-nc-name"><xsl:with-param name="string" select="concat( 'pm_', ../@Φí¿:σÉìτº░)"/></xsl:call-template></xsl:attribute>
  5653.                 <xsl:element name="style:page-layout-properties">
  5654.                     <xsl:if test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:τ║╕σ╝á/@uof:σ«╜σ║ª">
  5655.                         <xsl:attribute name="fo:page-width"><xsl:value-of select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:τ║╕σ╝á/@uof:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  5656.                     </xsl:if>
  5657.                     <xsl:if test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:τ║╕σ╝á/@uof:Θ½ÿσ║ª">
  5658.                         <xsl:attribute name="fo:page-height"><xsl:value-of select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:τ║╕σ╝á/@uof:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  5659.                     </xsl:if>
  5660.                     <xsl:if test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:τ║╕σ╝áµû╣σÉæ">
  5661.                         <xsl:attribute name="style:print-orientation"><xsl:value-of select="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:τ║╕σ╝áµû╣σÉæ"/></xsl:attribute>
  5662.                     </xsl:if>
  5663.                     <xsl:if test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:τ╝⌐µö╛">
  5664.                         <xsl:attribute name="style:scale-to"><xsl:value-of select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:τ╝⌐µö╛,'%')"/></xsl:attribute>
  5665.                     </xsl:if>
  5666.                     <xsl:if test="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/@Φí¿:ΦâîµÖ»">
  5667.                         <xsl:attribute name="fo:background-color"><xsl:value-of select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/@Φí¿:ΦâîµÖ»"/></xsl:attribute>
  5668.                     </xsl:if>
  5669.                     <xsl:attribute name="style:first-page-number">continue</xsl:attribute>
  5670.                     <xsl:if test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡Φ╛╣Φ╖¥">
  5671.                         <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡Φ╛╣Φ╖¥/@uof:Σ╕è,$uofUnit)"/></xsl:attribute>
  5672.                         <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡Φ╛╣Φ╖¥/@uof:Σ╕ï,$uofUnit)"/></xsl:attribute>
  5673.                         <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡Φ╛╣Φ╖¥/@uof:σ╖ª,$uofUnit)"/></xsl:attribute>
  5674.                         <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡Φ╛╣Φ╖¥/@uof:σÅ│,$uofUnit)"/></xsl:attribute>
  5675.                     </xsl:if>
  5676.                     <xsl:if test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:µëôσì░/@Φí¿:σàêσêùσÉÄΦíî='true'">
  5677.                         <xsl:attribute name="style:print-page-order">ltr</xsl:attribute>
  5678.                     </xsl:if>
  5679.                     <xsl:if test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:σ₧éτ¢┤σ»╣Θ╜É/@Φí¿:σ»╣Θ╜ɵû╣σ╝Å">
  5680.                         <xsl:attribute name="style:table-centering">vertical</xsl:attribute>
  5681.                     </xsl:if>
  5682.                     <xsl:if test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:µ░┤σ╣│σ»╣Θ╜É/@Φí¿:σ»╣Θ╜ɵû╣σ╝Å">
  5683.                         <xsl:attribute name="style:table-centering">horizontal</xsl:attribute>
  5684.                     </xsl:if>
  5685.                 </xsl:element>
  5686.                 <xsl:element name="style:header-style">
  5687.                     <xsl:element name="style:header-footer-properties">
  5688.                         <xsl:attribute name="fo:min-height">0.75cm</xsl:attribute>
  5689.                         <xsl:choose>
  5690.                             <xsl:when test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡τ£ëΘí╡ΦäÜ/@uof:Φ╛╣Φ╖¥">
  5691.                                 <xsl:attribute name="fo:margin-bottom"><xsl:call-template name="convert2cm"><xsl:with-param name="value" select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡τ£ëΘí╡ΦäÜ/@uof:Φ╛╣Φ╖¥,'pt')"/></xsl:call-template><xsl:text>cm</xsl:text></xsl:attribute>
  5692.                             </xsl:when>
  5693.                             <xsl:otherwise>
  5694.                                 <xsl:attribute name="fo:margin-bottom">0.25cm</xsl:attribute>
  5695.                             </xsl:otherwise>
  5696.                         </xsl:choose>
  5697.                     </xsl:element>
  5698.                 </xsl:element>
  5699.                 <xsl:element name="style:footer-style">
  5700.                     <xsl:element name="style:header-footer-properties">
  5701.                         <xsl:attribute name="fo:min-height">0.75cm</xsl:attribute>
  5702.                         <xsl:choose>
  5703.                             <xsl:when test="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡τ£ëΘí╡ΦäÜ/@uof:Φ╛╣Φ╖¥">
  5704.                                 <xsl:attribute name="fo:margin-top"><xsl:call-template name="convert2cm"><xsl:with-param name="value" select="concat(Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡τ£ëΘí╡ΦäÜ/@uof:Φ╛╣Φ╖¥,'pt')"/></xsl:call-template><xsl:text>cm</xsl:text></xsl:attribute>
  5705.                             </xsl:when>
  5706.                             <xsl:otherwise>
  5707.                                 <xsl:attribute name="fo:margin-top">0.25cm</xsl:attribute>
  5708.                             </xsl:otherwise>
  5709.                         </xsl:choose>
  5710.                     </xsl:element>
  5711.                 </xsl:element>
  5712.             </xsl:element>
  5713.         </xsl:for-each>
  5714.     </xsl:template>
  5715.     <xsl:template match="σ¡ù:µûçµ£¼Σ╕▓">
  5716.         <xsl:value-of select="text()"/>
  5717.     </xsl:template>
  5718.     <xsl:template match="σ¡ù:µìóΦíîτ¼ª">
  5719.         <xsl:element name="text:line-break"/>
  5720.     </xsl:template>
  5721.     <xsl:template match="σ¡ù:σê╢Φí¿τ¼ª">
  5722.         <xsl:element name="text:tab-stop"/>
  5723.     </xsl:template>
  5724.     <xsl:template match="σ¡ù:σî║σƒƒσ╝Çσºï">
  5725.         <xsl:if test="@σ¡ù:τ▒╗σ₧ï='hyperlink'">
  5726.             <xsl:variable name="superlink" select="//uof:Φ╢àτ║ºΘô╛µÄÑ[@uof:µáçΦ»åτ¼ª=current()/@σ¡ù:µáçΦ»åτ¼ª]"/>
  5727.             <xsl:element name="text:a">
  5728.                 <xsl:attribute name="xlink:href"><xsl:value-of select="$superlink/@uof:τ¢«µáç"/></xsl:attribute>
  5729.                 <xsl:value-of select="$superlink/@uof:µÅÉτñ║"/>
  5730.             </xsl:element>
  5731.         </xsl:if>
  5732.     </xsl:template>
  5733.     <xsl:template match="σ¡ù:τ⌐║µá╝τ¼ª">
  5734.         <xsl:element name="text:s">
  5735.             <xsl:if test="@σ¡ù:Σ╕¬µò░">
  5736.                 <xsl:attribute name="text:c"><xsl:value-of select="@σ¡ù:Σ╕¬µò░"/></xsl:attribute>
  5737.             </xsl:if>
  5738.         </xsl:element>
  5739.     </xsl:template>
  5740.     <xsl:template name="create-page-header-footer-text-p">
  5741.         <xsl:param name="paragragh-set"/>
  5742.         <xsl:choose>
  5743.             <xsl:when test="$paragragh-set">
  5744.                 <xsl:element name="text:p">
  5745.                     <xsl:for-each select="$paragragh-set[1]/σ¡ù:σÅÑ">
  5746.                         <xsl:choose>
  5747.                             <xsl:when test="not(σ¡ù:σÅÑσ▒₧µÇº)">
  5748.                                 <xsl:apply-templates select="σ¡ù:µûçµ£¼Σ╕▓ | σ¡ù:τ⌐║µá╝τ¼ª | σ¡ù:µìóΦíîτ¼ª"/>
  5749.                             </xsl:when>
  5750.                             <xsl:when test="σ¡ù:σÅÑσ▒₧µÇº">
  5751.                                 <xsl:element name="text:span">
  5752.                                     <xsl:attribute name="text:style-name"><xsl:value-of select="//uof:σÅÑσ╝ŵá╖[@σ¡ù:µáçΦ»åτ¼ª=current()/σ¡ù:σÅÑσ▒₧µÇº/@σ¡ù:σ╝ŵá╖σ╝òτö¿]/@σ¡ù:σÉìτº░"/></xsl:attribute>
  5753.                                     <xsl:apply-templates select="σ¡ù:τ⌐║µá╝τ¼ª | σ¡ù:µûçµ£¼Σ╕▓ | σ¡ù:µìóΦíîτ¼ª | σ¡ù:σê╢Φí¿τ¼ª"/>
  5754.                                 </xsl:element>
  5755.                             </xsl:when>
  5756.                         </xsl:choose>
  5757.                     </xsl:for-each>
  5758.                 </xsl:element>
  5759.                 <xsl:call-template name="create-page-header-footer-text-p">
  5760.                     <xsl:with-param name="paragragh-set" select="$paragragh-set[position()!=1]"/>
  5761.                 </xsl:call-template>
  5762.             </xsl:when>
  5763.             <xsl:otherwise/>
  5764.         </xsl:choose>
  5765.     </xsl:template>
  5766.     <!--Redoffice comment lilliang SC0016 06.02.16 -->
  5767.     <!--µû░σó₧σåàσ«╣-->
  5768.     <xsl:template match="σ¡ù:µ«╡ΦÉ╜">
  5769.         <xsl:element name="text:p">
  5770.             <xsl:choose>
  5771.                 <xsl:when test="σ¡ù:µ«╡ΦÉ╜σ▒₧µÇº">
  5772.                     <xsl:attribute name="text:style-name">P<xsl:number from="/uof:UOF/uof:µûçσ¡ùσñäτÉå/σ¡ù:Σ╕╗Σ╜ô" level="any" count="σ¡ù:µ«╡ΦÉ╜[σ¡ù:µ«╡ΦÉ╜σ▒₧µÇº]"/></xsl:attribute>
  5773.                 </xsl:when>
  5774.                 <xsl:when test="generate-id(ancestor::σ¡ù:Σ╕╗Σ╜ô/descendant::σ¡ù:µ«╡ΦÉ╜[1]) = generate-id(.)">
  5775.                     <!-- create the leading paragraph style name in one section for master page style application, glu -->
  5776.                     <xsl:variable name="paragraph-number">
  5777.                         <xsl:number from="/uof:UOF/uof:µûçσ¡ùσñäτÉå/σ¡ù:Σ╕╗Σ╜ô" level="any" count="σ¡ù:µ«╡ΦÉ╜[σ¡ù:µ«╡ΦÉ╜σ▒₧µÇº]"/>
  5778.                     </xsl:variable>
  5779.                     <xsl:attribute name="text:style-name">P<xsl:value-of select="number($paragraph-number)"/>_1</xsl:attribute>
  5780.                 </xsl:when>
  5781.                 <xsl:when test="not(σ¡ù:µ«╡ΦÉ╜σ▒₧µÇº) and (descendant::σ¡ù:σêåµáÅτ¼ª or ancestor::σ¡ù:σêåΦèé/descendant::σ¡ù:Φèéσ▒₧µÇº[σ¡ù:σêåµáÅ/@σ¡ù:µáŵò░ > 1])">
  5782.                     <xsl:attribute name="text:style-name">ColumnBreakPara</xsl:attribute>
  5783.                 </xsl:when>
  5784.                 <xsl:when test="σ¡ù:σÅÑ">
  5785.                     <xsl:apply-templates select="σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/>
  5786.                 </xsl:when>
  5787.             </xsl:choose>
  5788.         </xsl:element>
  5789.     </xsl:template>
  5790.     <!--Redoffice comment liliang end 06.02.16-->
  5791.     <xsl:template name="create-master-styles">
  5792.         <xsl:param name="worksheetoptions"/>
  5793.         <xsl:for-each select="$worksheetoptions">
  5794.             <xsl:element name="style:master-page">
  5795.                 <xsl:attribute name="style:name"><xsl:call-template name="encode-as-nc-name"><xsl:with-param name="string" select="concat( 'TAB_', ../@Φí¿:σÉìτº░)"/></xsl:call-template></xsl:attribute>
  5796.                 <!--xsl:attribute name="style:page-layout-name"-->
  5797.                 <xsl:attribute name="style:page-layout-name"><xsl:call-template name="encode-as-nc-name"><xsl:with-param name="string" select="concat( 'pm_', ../@Φí¿:σÉìτº░)"/></xsl:call-template></xsl:attribute>
  5798.                 <xsl:attribute name="style:display-name"><xsl:value-of select="concat( 'PageStyle_', ../@Φí¿:σÉìτº░)"/></xsl:attribute>
  5799.                 <style:header>
  5800.                     <xsl:for-each select="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡τ£ëΘí╡ΦäÜ">
  5801.                         <xsl:variable name="temp" select="@Φí¿:Σ╜ìτ╜«"/>
  5802.                         <xsl:choose>
  5803.                             <xsl:when test="contains($temp,'header')">
  5804.                                 <xsl:if test="σ¡ù:µ«╡ΦÉ╜">
  5805.                                     <xsl:choose>
  5806.                                         <xsl:when test="@Φí¿:Σ╜ìτ╜«='headerleft'">
  5807.                                             <xsl:element name="style:region-left">
  5808.                                                 <xsl:call-template name="create-page-header-footer-text-p">
  5809.                                                     <xsl:with-param name="paragragh-set" select="σ¡ù:µ«╡ΦÉ╜"/>
  5810.                                                 </xsl:call-template>
  5811.                                             </xsl:element>
  5812.                                         </xsl:when>
  5813.                                         <xsl:when test="@Φí¿:Σ╜ìτ╜«='headercenter'">
  5814.                                             <xsl:element name="style:region-center">
  5815.                                                 <xsl:call-template name="create-page-header-footer-text-p">
  5816.                                                     <xsl:with-param name="paragragh-set" select="σ¡ù:µ«╡ΦÉ╜"/>
  5817.                                                 </xsl:call-template>
  5818.                                             </xsl:element>
  5819.                                         </xsl:when>
  5820.                                         <xsl:when test="@Φí¿:Σ╜ìτ╜«='headerright'">
  5821.                                             <xsl:element name="style:region-right">
  5822.                                                 <xsl:call-template name="create-page-header-footer-text-p">
  5823.                                                     <xsl:with-param name="paragragh-set" select="σ¡ù:µ«╡ΦÉ╜"/>
  5824.                                                 </xsl:call-template>
  5825.                                             </xsl:element>
  5826.                                         </xsl:when>
  5827.                                         <xsl:otherwise/>
  5828.                                     </xsl:choose>
  5829.                                 </xsl:if>
  5830.                             </xsl:when>
  5831.                             <xsl:otherwise/>
  5832.                         </xsl:choose>
  5833.                     </xsl:for-each>
  5834.                 </style:header>
  5835.                 <style:footer>
  5836.                     <xsl:for-each select="Φí¿:Θí╡Θ¥óΦ«╛τ╜«/Φí¿:Θí╡τ£ëΘí╡ΦäÜ">
  5837.                         <xsl:variable name="temp" select="@Φí¿:Σ╜ìτ╜«"/>
  5838.                         <xsl:choose>
  5839.                             <xsl:when test="contains($temp,'footer')">
  5840.                                 <xsl:if test="σ¡ù:µ«╡ΦÉ╜">
  5841.                                     <xsl:choose>
  5842.                                         <xsl:when test="@Φí¿:Σ╜ìτ╜«='footerleft'">
  5843.                                             <xsl:element name="style:region-left">
  5844.                                                 <xsl:call-template name="create-page-header-footer-text-p">
  5845.                                                     <xsl:with-param name="paragragh-set" select="σ¡ù:µ«╡ΦÉ╜"/>
  5846.                                                 </xsl:call-template>
  5847.                                             </xsl:element>
  5848.                                         </xsl:when>
  5849.                                         <xsl:when test="@Φí¿:Σ╜ìτ╜«='footercenter'">
  5850.                                             <xsl:element name="style:region-center">
  5851.                                                 <xsl:call-template name="create-page-header-footer-text-p">
  5852.                                                     <xsl:with-param name="paragragh-set" select="σ¡ù:µ«╡ΦÉ╜"/>
  5853.                                                 </xsl:call-template>
  5854.                                             </xsl:element>
  5855.                                         </xsl:when>
  5856.                                         <xsl:when test="@Φí¿:Σ╜ìτ╜«='footerright'">
  5857.                                             <xsl:element name="style:region-right">
  5858.                                                 <xsl:call-template name="create-page-header-footer-text-p">
  5859.                                                     <xsl:with-param name="paragragh-set" select="σ¡ù:µ«╡ΦÉ╜"/>
  5860.                                                 </xsl:call-template>
  5861.                                             </xsl:element>
  5862.                                         </xsl:when>
  5863.                                         <xsl:otherwise/>
  5864.                                     </xsl:choose>
  5865.                                 </xsl:if>
  5866.                             </xsl:when>
  5867.                             <xsl:otherwise/>
  5868.                         </xsl:choose>
  5869.                     </xsl:for-each>
  5870.                 </style:footer>
  5871.             </xsl:element>
  5872.         </xsl:for-each>
  5873.     </xsl:template>
  5874.     <!--xsl:template name="create-page-master">
  5875.     </xsl:template>
  5876.     <xsl:template match="Φí¿:Θí╡Θ¥óΦ«╛τ╜«">
  5877.     </xsl:template>
  5878.  
  5879.     <xsl:template name="create-master-styles">
  5880.     </xsl:template>
  5881.     <xsl:template  name="Φí¿:σ╖ÑΣ╜£Φí¿σ▒₧µÇº">
  5882.     </xsl:template-->
  5883.     <!--00000000000-->
  5884.     <xsl:template match="uof:σàâµò░µì«">
  5885.         <office:meta>
  5886.             <xsl:if test="uof:σê¢σ╗║σ║öτö¿τ¿ïσ║Å">
  5887.                 <meta:generator>
  5888.                     <xsl:value-of select="uof:σê¢σ╗║σ║öτö¿τ¿ïσ║Å"/>
  5889.                 </meta:generator>
  5890.             </xsl:if>
  5891.             <xsl:if test="uof:µáçΘóÿ">
  5892.                 <dc:title>
  5893.                     <xsl:value-of select="uof:µáçΘóÿ"/>
  5894.                 </dc:title>
  5895.             </xsl:if>
  5896.             <xsl:if test="uof:µæÿΦªü">
  5897.                 <dc:description>
  5898.                     <xsl:value-of select="uof:µæÿΦªü"/>
  5899.                 </dc:description>
  5900.             </xsl:if>
  5901.             <xsl:if test="uof:Σ╕╗Θóÿ">
  5902.                 <dc:subject>
  5903.                     <xsl:value-of select="uof:Σ╕╗Θóÿ"/>
  5904.                 </dc:subject>
  5905.             </xsl:if>
  5906.             <xsl:if test="uof:Σ╜£ΦÇà">
  5907.                 <meta:initial-creator>
  5908.                     <xsl:value-of select="uof:Σ╜£ΦÇà"/>
  5909.                 </meta:initial-creator>
  5910.             </xsl:if>
  5911.             <xsl:if test="uof:σê¢σ╗║µùѵ£ƒ">
  5912.                 <meta:creation-date>
  5913.                     <xsl:value-of select="uof:σê¢σ╗║µùѵ£ƒ"/>
  5914.                 </meta:creation-date>
  5915.             </xsl:if>
  5916.             <xsl:if test="uof:µ£ÇσÉÄΣ╜£ΦÇà">
  5917.                 <dc:creator>
  5918.                     <xsl:value-of select="uof:µ£ÇσÉÄΣ╜£ΦÇà"/>
  5919.                 </dc:creator>
  5920.             </xsl:if>
  5921.             <xsl:if test="uof:τ╝ûΦ╛æµù╢Θù┤">
  5922.                 <meta:editing-duration>
  5923.                     <xsl:value-of select="uof:τ╝ûΦ╛æµù╢Θù┤"/>
  5924.                 </meta:editing-duration>
  5925.             </xsl:if>
  5926.             <dc:language/>
  5927.             <meta:keyword>
  5928.                 <xsl:value-of select="uof:σà│Θö«σ¡ùΘ¢å/uof:σà│Θö«σ¡ù"/>
  5929.             </meta:keyword>
  5930.             <xsl:if test="uof:τ╝ûΦ╛æµ¼íµò░">
  5931.                 <meta:editing-cycles>
  5932.                     <xsl:value-of select="uof:τ╝ûΦ╛æµ¼íµò░"/>
  5933.                 </meta:editing-cycles>
  5934.             </xsl:if>
  5935.             <xsl:if test="uof:σêåτ▒╗">
  5936.                 <meta:user-defined meta:name="Category">
  5937.                     <xsl:value-of select="uof:σêåτ▒╗"/>
  5938.                 </meta:user-defined>
  5939.             </xsl:if>
  5940.             <xsl:if test="uof:τ╗ÅτÉåσÉìτº░">
  5941.                 <meta:user-defined meta:name="Manager">
  5942.                     <xsl:value-of select="uof:τ╗ÅτÉåσÉìτº░"/>
  5943.                 </meta:user-defined>
  5944.             </xsl:if>
  5945.             <xsl:if test="uof:σà¼σÅ╕σÉìτº░">
  5946.                 <meta:user-defined meta:name="Company">
  5947.                     <xsl:value-of select="uof:σà¼σÅ╕σÉìτº░"/>
  5948.                 </meta:user-defined>
  5949.             </xsl:if>
  5950.             <xsl:apply-templates select="uof:τö¿µê╖Φç¬σ«ÜΣ╣ëσàâµò░µì«Θ¢å"/>
  5951.         </office:meta>
  5952.     </xsl:template>
  5953.     <xsl:template match="uof:τö¿µê╖Φç¬σ«ÜΣ╣ëσàâµò░µì«Θ¢å">
  5954.         <xsl:for-each select="uof:τö¿µê╖Φç¬σ«ÜΣ╣ëσàâµò░µì«">
  5955.             <meta:user-defined meta:name="{@uof:σÉìτº░}">
  5956.                 <xsl:value-of select="."/>
  5957.             </meta:user-defined>
  5958.         </xsl:for-each>
  5959.     </xsl:template>
  5960.     <xsl:template name="parse-range">
  5961.         <xsl:param name="range-value"/>
  5962.         <xsl:param name="last"/>
  5963.         <xsl:variable name="first-pit">
  5964.             <xsl:choose>
  5965.                 <xsl:when test="contains($range-value,',')">
  5966.                     <xsl:value-of select="substring-before($range-value,',')"/>
  5967.                 </xsl:when>
  5968.                 <xsl:otherwise>
  5969.                     <xsl:value-of select="$range-value"/>
  5970.                 </xsl:otherwise>
  5971.             </xsl:choose>
  5972.         </xsl:variable>
  5973.         <xsl:variable name="current">
  5974.             <xsl:choose>
  5975.                 <xsl:when test="contains($first-pit,':')">
  5976.                     <xsl:variable name="R-start" select="substring-before(substring-after($first-pit,'R'),'C')"/>
  5977.                     <xsl:variable name="C-start" select="substring-before(substring-after($first-pit,'C'),':')"/>
  5978.                     <xsl:variable name="second-pit" select="substring-after($first-pit,':')"/>
  5979.                     <xsl:variable name="R-end" select="substring-before(substring-after($second-pit,'R'),'C')"/>
  5980.                     <xsl:variable name="C-end" select="substring-after($second-pit,'C')"/>
  5981.                     <xsl:variable name="the-str">
  5982.                         <xsl:call-template name="condition-rc-str">
  5983.                             <xsl:with-param name="r-start" select="$R-start"/>
  5984.                             <xsl:with-param name="r-end" select="$R-end"/>
  5985.                             <xsl:with-param name="c-start" select="$C-start"/>
  5986.                             <xsl:with-param name="c-end" select="$C-end"/>
  5987.                             <xsl:with-param name="last" select="''"/>
  5988.                         </xsl:call-template>
  5989.                     </xsl:variable>
  5990.                     <xsl:value-of select="$the-str"/>
  5991.                 </xsl:when>
  5992.                 <xsl:otherwise>
  5993.                     <xsl:value-of select="concat($first-pit,',')"/>
  5994.                 </xsl:otherwise>
  5995.             </xsl:choose>
  5996.         </xsl:variable>
  5997.         <xsl:choose>
  5998.             <xsl:when test="contains($range-value,',')">
  5999.                 <xsl:call-template name="parse-range">
  6000.                     <xsl:with-param name="range-value" select="substring-after($range-value,',')"/>
  6001.                     <xsl:with-param name="last" select="concat($last,$current)"/>
  6002.                 </xsl:call-template>
  6003.             </xsl:when>
  6004.             <xsl:otherwise>
  6005.                 <xsl:value-of select="concat($last,$current)"/>
  6006.             </xsl:otherwise>
  6007.         </xsl:choose>
  6008.     </xsl:template>
  6009.     <xsl:template name="condition-rc-str">
  6010.         <!-- dealing the range of row\column -->
  6011.         <xsl:param name="r-start"/>
  6012.         <xsl:param name="r-end"/>
  6013.         <xsl:param name="c-start"/>
  6014.         <xsl:param name="c-end"/>
  6015.         <xsl:param name="last"/>
  6016.         <xsl:variable name="current">
  6017.             <xsl:call-template name="condition-c-str">
  6018.                 <xsl:with-param name="rc-str" select="concat('R',$r-start)"/>
  6019.                 <xsl:with-param name="start" select="$c-start"/>
  6020.                 <xsl:with-param name="end" select="$c-end"/>
  6021.                 <xsl:with-param name="last" select="''"/>
  6022.             </xsl:call-template>
  6023.         </xsl:variable>
  6024.         <xsl:if test="$r-start < $r-end">
  6025.             <xsl:call-template name="condition-rc-str">
  6026.                 <xsl:with-param name="r-start" select="$r-start + 1"/>
  6027.                 <xsl:with-param name="r-end" select="$r-end"/>
  6028.                 <xsl:with-param name="c-start" select="$c-start"/>
  6029.                 <xsl:with-param name="c-end" select="$c-end"/>
  6030.                 <xsl:with-param name="last" select="concat($last,$current)"/>
  6031.             </xsl:call-template>
  6032.         </xsl:if>
  6033.         <xsl:if test="$r-start = $r-end">
  6034.             <xsl:value-of select="concat($last,$current)"/>
  6035.         </xsl:if>
  6036.     </xsl:template>
  6037.     <xsl:template name="condition-c-str">
  6038.         <!-- return value for the template condition-rc-str -->
  6039.         <xsl:param name="rc-str"/>
  6040.         <xsl:param name="start"/>
  6041.         <xsl:param name="end"/>
  6042.         <xsl:param name="last"/>
  6043.         <xsl:variable name="current" select="concat($rc-str,'C',$start,',')"/>
  6044.         <xsl:if test="$start < $end">
  6045.             <xsl:call-template name="condition-c-str">
  6046.                 <xsl:with-param name="rc-str" select="$rc-str"/>
  6047.                 <xsl:with-param name="start" select="$start + 1"/>
  6048.                 <xsl:with-param name="end" select="$end"/>
  6049.                 <xsl:with-param name="last" select="concat($last,$current)"/>
  6050.             </xsl:call-template>
  6051.         </xsl:if>
  6052.         <xsl:if test="$start = $end">
  6053.             <xsl:value-of select="concat($last,$current)"/>
  6054.         </xsl:if>
  6055.     </xsl:template>
  6056.     <xsl:template name="condition-str">
  6057.         <xsl:param name="param-str"/>
  6058.         <xsl:choose>
  6059.             <xsl:when test="contains($param-str,'(')">
  6060.                 <xsl:call-template name="condition-str">
  6061.                     <xsl:with-param name="param-str" select="substring-after($param-str,'(')"/>
  6062.                 </xsl:call-template>
  6063.             </xsl:when>
  6064.             <xsl:otherwise>
  6065.                 <xsl:value-of select="substring-before($param-str,':')"/>
  6066.             </xsl:otherwise>
  6067.         </xsl:choose>
  6068.     </xsl:template>
  6069.     <xsl:template name="encode-as-cell-range-address">
  6070.         <xsl:param name="string"/>
  6071.         <xsl:value-of select="$string"/>
  6072.     </xsl:template>
  6073.     <xsl:template name="encode-as-cell-address">
  6074.         <xsl:param name="string"/>
  6075.         <xsl:value-of select="$string"/>
  6076.     </xsl:template>
  6077.     <!--chengxiuzhi 111111111111111111111111111111111111111111111111111111111111111-->
  6078.     <!-- measure_conversion.xsl Begin-->
  6079.     <xsl:param name="dpi" select="111"/>
  6080.     <xsl:param name="centimeter-in-mm" select="10"/>
  6081.     <xsl:param name="inch-in-mm" select="25.4"/>
  6082.     <xsl:param name="didot-point-in-mm" select="0.376065"/>
  6083.     <xsl:param name="pica-in-mm" select="4.2333333"/>
  6084.     <xsl:param name="point-in-mm" select="0.3527778"/>
  6085.     <xsl:param name="twip-in-mm" select="0.017636684"/>
  6086.     <xsl:param name="pixel-in-mm" select="$inch-in-mm div $dpi"/>
  6087.     <!-- ***** MEASUREMENT CONVERSIONS *****
  6088.       PARAM 'value'
  6089.         The measure to be converted.
  6090.         The current measure is judged by a substring (e.g. 'mm', 'cm', 'in', 'pica'...)
  6091.         directly added to the number.
  6092.  
  6093.       PARAM 'rounding-factor'
  6094.         Is used for the rounding of decimal places.
  6095.         The parameter number is the product of 1 and some '10', where
  6096.         every zero represents a decimal place.
  6097.  
  6098.         For example, providing as parameter:
  6099.             <xsl:param name="rounding-factor" select="10000" />
  6100.         Gives by default four decimal places.
  6101.  
  6102.         To round two decimal places, basically the following is done:
  6103.             <xsl:value-of select="round(100 * value) div 100"/>
  6104.  
  6105.       RETURN    The converted number, by default rounded to four decimal places.
  6106.                 In case the input measure could not be matched the same value is
  6107.                 returned and a warning message is written out.
  6108.  
  6109.  
  6110.  
  6111.      MEASURE LIST:
  6112.      * 1 milimeter (mm), the basic measure
  6113.  
  6114.      * 1 centimeter (cm) = 10 mm
  6115.  
  6116.      * 1 inch (in) = 25.4 mm
  6117.         While the English have already seen the light (read: the metric system), the US
  6118.         remains loyal to this medieval system.
  6119.  
  6120.      * 1 point (pt) = 0.35277777.. mm
  6121.         Sometimes called PostScript point (ppt), as when Adobe created PostScript, they added their own system of points.
  6122.         There are exactly 72 PostScript points in 1 inch.
  6123.  
  6124.      * 1 twip = twentieth of a (PostScript) point
  6125.         A twip (twentieth of a point) is a 1/20th of a PostScript point, a traditional measure in printing.
  6126.  
  6127.      * 1 didot point (dpt) = 0.376065 mm
  6128.         Didot point after the French typographer Firmin Didot (1764-1836).
  6129.  
  6130.         More details under
  6131.         http://www.unc.edu/~rowlett/units/dictP.html:
  6132.         "A unit of length used by typographers and printers. When printing was done
  6133.         from hand-set metal type, one point represented the smallest element of type
  6134.         that could be handled, roughly 1/64 inch. Eventually, the point was standardized
  6135.         in Britain and America as exactly 1/72.27 = 0.013 837 inch, which is
  6136.         about 0.35 mm (351.46 micrometers). In continental Europe, typographers
  6137.         traditionally used a slightly larger point of 0.014 83 inch (about
  6138.         1/72 pouce, 0.377 mm, or roughly 1/67 English inch), called a Didot point
  6139.         after the French typographer Firmin Didot (1764-1836). In the U.S.,
  6140.         Adobe software defines the point to be exactly 1/72 inch (0.013 888 9 inch
  6141.         or 0.352 777 8 millimeters) and TeX software uses a slightly smaller point
  6142.         of 0.351 459 8035 mm. The German standards agency DIN has proposed that
  6143.         all these units be replaced by multiples of 0.25 millimeters (1/101.6 inch).
  6144.  
  6145.      * 1 pica = 4.233333 mm
  6146.         1/6 inch or 12 points
  6147.  
  6148.      * 1 pixel (px) = 0.26458333.. mm   (relative to 'DPI', here: 96 dpi)
  6149.         Most pictures have the 96 dpi resolution, but the dpi variable may vary by stylesheet parameter
  6150.  
  6151.  
  6152.     -->
  6153.     <!-- changing measure to mm -->
  6154.     <xsl:template name="convert2mm">
  6155.         <xsl:param name="value"/>
  6156.         <xsl:param name="rounding-factor" select="10000"/>
  6157.         <xsl:choose>
  6158.             <xsl:when test="contains($value, 'mm')">
  6159.                 <xsl:value-of select="substring-before($value, 'mm')"/>
  6160.             </xsl:when>
  6161.             <xsl:when test="contains($value, 'cm')">
  6162.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'cm' ) * $centimeter-in-mm)) div $rounding-factor"/>
  6163.             </xsl:when>
  6164.             <xsl:when test="contains($value, 'in')">
  6165.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'in' ) * $inch-in-mm)) div $rounding-factor"/>
  6166.             </xsl:when>
  6167.             <xsl:when test="contains($value, 'pt')">
  6168.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pt') * $point-in-mm)) div $rounding-factor"/>
  6169.             </xsl:when>
  6170.             <xsl:when test="contains($value, 'twip')">
  6171.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'twip') * $twip-in-mm)) div $rounding-factor"/>
  6172.             </xsl:when>
  6173.             <xsl:when test="contains($value, 'dpt')">
  6174.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'dpt') * $didot-point-in-mm)) div $rounding-factor"/>
  6175.             </xsl:when>
  6176.             <xsl:when test="contains($value, 'pica')">
  6177.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pica') * $pica-in-mm)) div $rounding-factor"/>
  6178.             </xsl:when>
  6179.             <xsl:when test="contains($value, 'px')">
  6180.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') * $pixel-in-mm)) div $rounding-factor"/>
  6181.             </xsl:when>
  6182.             <xsl:otherwise>
  6183.                 <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'mm'!</xsl:message>
  6184.                 <xsl:value-of select="$value"/>
  6185.             </xsl:otherwise>
  6186.         </xsl:choose>
  6187.     </xsl:template>
  6188.     <!-- changing measure to cm -->
  6189.     <xsl:template name="convert2cm">
  6190.         <xsl:param name="value"/>
  6191.         <xsl:param name="rounding-factor" select="10000"/>
  6192.         <xsl:choose>
  6193.             <xsl:when test="contains($value, 'mm')">
  6194.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'mm') div $centimeter-in-mm)) div $rounding-factor"/>
  6195.             </xsl:when>
  6196.             <xsl:when test="contains($value, 'cm')">
  6197.                 <xsl:value-of select="substring-before($value, 'cm')"/>
  6198.             </xsl:when>
  6199.             <xsl:when test="contains($value, 'in')">
  6200.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'in') div $centimeter-in-mm * $inch-in-mm)) div $rounding-factor"/>
  6201.             </xsl:when>
  6202.             <xsl:when test="contains($value, 'pt')">
  6203.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pt') div $centimeter-in-mm * $point-in-mm)) div $rounding-factor"/>
  6204.             </xsl:when>
  6205.             <xsl:when test="contains($value, 'dpt')">
  6206.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'dpt') div $centimeter-in-mm * $didot-point-in-mm)) div $rounding-factor"/>
  6207.             </xsl:when>
  6208.             <xsl:when test="contains($value, 'pica')">
  6209.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pica') div $centimeter-in-mm * $pica-in-mm)) div $rounding-factor"/>
  6210.             </xsl:when>
  6211.             <xsl:when test="contains($value, 'twip')">
  6212.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'twip') div $centimeter-in-mm * $twip-in-mm)) div $rounding-factor"/>
  6213.             </xsl:when>
  6214.             <xsl:when test="contains($value, 'px')">
  6215.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') div $centimeter-in-mm * $pixel-in-mm)) div $rounding-factor"/>
  6216.             </xsl:when>
  6217.             <xsl:otherwise>
  6218.                 <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'cm'!</xsl:message>
  6219.                 <xsl:value-of select="$value"/>
  6220.             </xsl:otherwise>
  6221.         </xsl:choose>
  6222.     </xsl:template>
  6223.     <!-- changing measure to inch (cp. section comment) -->
  6224.     <xsl:template name="convert2in">
  6225.         <xsl:param name="value"/>
  6226.         <xsl:param name="rounding-factor" select="10000"/>
  6227.         <xsl:choose>
  6228.             <xsl:when test="contains($value, 'mm')">
  6229.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'mm') div $inch-in-mm)) div $rounding-factor"/>
  6230.             </xsl:when>
  6231.             <xsl:when test="contains($value, 'cm')">
  6232.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'cm') div $inch-in-mm * $centimeter-in-mm)) div $rounding-factor"/>
  6233.             </xsl:when>
  6234.             <xsl:when test="contains($value, 'in')">
  6235.                 <xsl:value-of select="substring-before($value, 'in')"/>
  6236.             </xsl:when>
  6237.             <xsl:when test="contains($value, 'pt')">
  6238.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pt') div $inch-in-mm * $point-in-mm)) div $rounding-factor"/>
  6239.             </xsl:when>
  6240.             <xsl:when test="contains($value, 'dpt')">
  6241.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'dpt') div $inch-in-mm * $didot-point-in-mm)) div $rounding-factor"/>
  6242.             </xsl:when>
  6243.             <xsl:when test="contains($value, 'pica')">
  6244.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pica') div $inch-in-mm * $pica-in-mm)) div $rounding-factor"/>
  6245.             </xsl:when>
  6246.             <xsl:when test="contains($value, 'twip')">
  6247.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'twip') div $inch-in-mm * $twip-in-mm)) div $rounding-factor"/>
  6248.             </xsl:when>
  6249.             <xsl:when test="contains($value, 'px')">
  6250.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') div $inch-in-mm * $pixel-in-mm)) div $rounding-factor"/>
  6251.             </xsl:when>
  6252.             <xsl:otherwise>
  6253.                 <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'in'!</xsl:message>
  6254.                 <xsl:value-of select="$value"/>
  6255.             </xsl:otherwise>
  6256.         </xsl:choose>
  6257.     </xsl:template>
  6258.     <!-- changing measure to dpt (cp. section comment) -->
  6259.     <xsl:template name="convert2dpt">
  6260.         <xsl:param name="value"/>
  6261.         <xsl:param name="rounding-factor" select="10000"/>
  6262.         <xsl:choose>
  6263.             <xsl:when test="contains($value, 'mm')">
  6264.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'mm') div $didot-point-in-mm)) div $rounding-factor"/>
  6265.             </xsl:when>
  6266.             <xsl:when test="contains($value, 'cm')">
  6267.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'cm') div $didot-point-in-mm * $centimeter-in-mm)) div $rounding-factor"/>
  6268.             </xsl:when>
  6269.             <xsl:when test="contains($value, 'in')">
  6270.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'in') div $didot-point-in-mm * $inch-in-mm)) div $rounding-factor"/>
  6271.             </xsl:when>
  6272.             <xsl:when test="contains($value, 'pt')">
  6273.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pt') div $didot-point-in-mm * $point-in-mm)) div $rounding-factor"/>
  6274.             </xsl:when>
  6275.             <xsl:when test="contains($value, 'dpt')">
  6276.                 <xsl:value-of select="substring-before($value, 'dpt')"/>
  6277.             </xsl:when>
  6278.             <xsl:when test="contains($value, 'pica')">
  6279.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pica') div $didot-point-in-mm * $pica-in-mm)) div $rounding-factor"/>
  6280.             </xsl:when>
  6281.             <xsl:when test="contains($value, 'twip')">
  6282.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'twip') div $didot-point-in-mm * $twip-in-mm)) div $rounding-factor"/>
  6283.             </xsl:when>
  6284.             <xsl:when test="contains($value, 'px')">
  6285.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') div $didot-point-in-mm * $pixel-in-mm)) div $rounding-factor"/>
  6286.             </xsl:when>
  6287.             <xsl:otherwise>
  6288.                 <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'dpt'!</xsl:message>
  6289.                 <xsl:value-of select="$value"/>
  6290.             </xsl:otherwise>
  6291.         </xsl:choose>
  6292.     </xsl:template>
  6293.     <!-- changing measure to pica (cp. section comment) -->
  6294.     <xsl:template name="convert2pica">
  6295.         <xsl:param name="value"/>
  6296.         <xsl:param name="rounding-factor" select="10000"/>
  6297.         <xsl:choose>
  6298.             <xsl:when test="contains($value, 'mm')">
  6299.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'mm') div $pica-in-mm)) div $rounding-factor"/>
  6300.             </xsl:when>
  6301.             <xsl:when test="contains($value, 'cm')">
  6302.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'cm') div $pica-in-mm * $centimeter-in-mm)) div $rounding-factor"/>
  6303.             </xsl:when>
  6304.             <xsl:when test="contains($value, 'in')">
  6305.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'in') div $pica-in-mm * $inch-in-mm)) div $rounding-factor"/>
  6306.             </xsl:when>
  6307.             <xsl:when test="contains($value, 'pt')">
  6308.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pt') div $pica-in-mm * $point-in-mm)) div $rounding-factor"/>
  6309.             </xsl:when>
  6310.             <xsl:when test="contains($value, 'dpt')">
  6311.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'dpt') div $pica-in-mm * $didot-point-in-mm)) div $rounding-factor"/>
  6312.             </xsl:when>
  6313.             <xsl:when test="contains($value, 'pica')">
  6314.                 <xsl:value-of select="substring-before($value, 'pica')"/>
  6315.             </xsl:when>
  6316.             <xsl:when test="contains($value, 'twip')">
  6317.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'twip') div $pica-in-mm * $twip-in-mm)) div $rounding-factor"/>
  6318.             </xsl:when>
  6319.             <xsl:when test="contains($value, 'px')">
  6320.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') div $pica-in-mm * $pixel-in-mm)) div $rounding-factor"/>
  6321.             </xsl:when>
  6322.             <xsl:otherwise>
  6323.                 <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'pica'!</xsl:message>
  6324.                 <xsl:value-of select="$value"/>
  6325.             </xsl:otherwise>
  6326.         </xsl:choose>
  6327.     </xsl:template>
  6328.     <!-- changing measure to pt (cp. section comment) -->
  6329.     <xsl:template name="convert2pt">
  6330.         <xsl:param name="value"/>
  6331.         <xsl:param name="rounding-factor" select="10000"/>
  6332.         <xsl:choose>
  6333.             <xsl:when test="contains($value, 'mm')">
  6334.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'mm') div $point-in-mm)) div $rounding-factor"/>
  6335.             </xsl:when>
  6336.             <xsl:when test="contains($value, 'cm')">
  6337.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'cm') div $point-in-mm * $centimeter-in-mm)) div $rounding-factor"/>
  6338.             </xsl:when>
  6339.             <xsl:when test="contains($value, 'in')">
  6340.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'in') div $point-in-mm * $inch-in-mm)) div $rounding-factor"/>
  6341.             </xsl:when>
  6342.             <xsl:when test="contains($value, 'pt')">
  6343.                 <xsl:value-of select="substring-before($value, 'pt')"/>
  6344.             </xsl:when>
  6345.             <xsl:when test="contains($value, 'dpt')">
  6346.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'dpt') div $point-in-mm * $didot-point-in-mm)) div $rounding-factor"/>
  6347.             </xsl:when>
  6348.             <xsl:when test="contains($value, 'pica')">
  6349.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pica') div $point-in-mm * $pica-in-mm)) div $rounding-factor"/>
  6350.             </xsl:when>
  6351.             <xsl:when test="contains($value, 'twip')">
  6352.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'twip') div $point-in-mm * $twip-in-mm)) div $rounding-factor"/>
  6353.             </xsl:when>
  6354.             <xsl:when test="contains($value, 'px')">
  6355.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') div $point-in-mm * $pixel-in-mm)) div $rounding-factor"/>
  6356.             </xsl:when>
  6357.             <xsl:otherwise>
  6358.                 <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'pt'!</xsl:message>
  6359.                 <xsl:value-of select="$value"/>
  6360.             </xsl:otherwise>
  6361.         </xsl:choose>
  6362.     </xsl:template>
  6363.     <!-- changing measure to pt (cp. section comment) -->
  6364.     <xsl:template name="convert2twip">
  6365.         <xsl:param name="value"/>
  6366.         <xsl:param name="rounding-factor" select="10000"/>
  6367.         <xsl:choose>
  6368.             <xsl:when test="contains($value, 'mm')">
  6369.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'mm') div $twip-in-mm)) div $rounding-factor"/>
  6370.             </xsl:when>
  6371.             <xsl:when test="contains($value, 'cm')">
  6372.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'cm') div $twip-in-mm * $centimeter-in-mm)) div $rounding-factor"/>
  6373.             </xsl:when>
  6374.             <xsl:when test="contains($value, 'in')">
  6375.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'in') div $twip-in-mm * $inch-in-mm)) div $rounding-factor"/>
  6376.             </xsl:when>
  6377.             <xsl:when test="contains($value, 'pt')">
  6378.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pt') div $twip-in-mm * $point-in-mm)) div $rounding-factor"/>
  6379.             </xsl:when>
  6380.             <xsl:when test="contains($value, 'dpt')">
  6381.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'dpt') div $twip-in-mm * $didot-point-in-mm)) div $rounding-factor"/>
  6382.             </xsl:when>
  6383.             <xsl:when test="contains($value, 'pica')">
  6384.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pica') div $twip-in-mm * $pica-in-mm)) div $rounding-factor"/>
  6385.             </xsl:when>
  6386.             <xsl:when test="contains($value, 'twip')">
  6387.                 <xsl:value-of select="substring-before($value, 'twip')"/>
  6388.             </xsl:when>
  6389.             <xsl:when test="contains($value, 'px')">
  6390.                 <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') div $twip-in-mm * $pixel-in-mm)) div $rounding-factor"/>
  6391.             </xsl:when>
  6392.             <xsl:otherwise>
  6393.                 <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'twip'!</xsl:message>
  6394.                 <xsl:value-of select="$value"/>
  6395.             </xsl:otherwise>
  6396.         </xsl:choose>
  6397.     </xsl:template>
  6398.     <!-- changing measure to pixel by via parameter provided dpi (dots per inch) standard factor (cp. section comment) -->
  6399.     <xsl:template name="convert2px">
  6400.         <xsl:param name="value"/>
  6401.         <xsl:choose>
  6402.             <xsl:when test="contains($value, 'mm')">
  6403.                 <xsl:value-of select="round(number(substring-before($value, 'mm')) div $pixel-in-mm)"/>
  6404.             </xsl:when>
  6405.             <xsl:when test="contains($value, 'cm')">
  6406.                 <xsl:value-of select="round(number(substring-before($value, 'cm')) div $pixel-in-mm * $centimeter-in-mm)"/>
  6407.             </xsl:when>
  6408.             <xsl:when test="contains($value, 'in')">
  6409.                 <xsl:value-of select="round(number(substring-before($value, 'in')) div $pixel-in-mm * $inch-in-mm)"/>
  6410.             </xsl:when>
  6411.             <xsl:when test="contains($value, 'pt')">
  6412.                 <xsl:value-of select="round(number(substring-before($value, 'pt')) div $pixel-in-mm * $point-in-mm)"/>
  6413.             </xsl:when>
  6414.             <xsl:when test="contains($value, 'dpt')">
  6415.                 <xsl:value-of select="round(number(substring-before($value, 'dpt')) div $pixel-in-mm * $didot-point-in-mm)"/>
  6416.             </xsl:when>
  6417.             <xsl:when test="contains($value, 'pica')">
  6418.                 <xsl:value-of select="round(number(substring-before($value, 'pica')) div $pixel-in-mm * $pica-in-mm)"/>
  6419.             </xsl:when>
  6420.             <xsl:when test="contains($value, 'twip')">
  6421.                 <xsl:value-of select="round(number(substring-before($value, 'twip')) div $pixel-in-mm * $twip-in-mm)"/>
  6422.             </xsl:when>
  6423.             <xsl:when test="contains($value, 'px')">
  6424.                 <xsl:value-of select="$value"/>
  6425.             </xsl:when>
  6426.             <xsl:otherwise>
  6427.                 <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'px'!</xsl:message>
  6428.                 <xsl:value-of select="$value"/>
  6429.             </xsl:otherwise>
  6430.         </xsl:choose>
  6431.     </xsl:template>
  6432.     <!-- chenjh zhangying-->
  6433.     <xsl:template name="create-content-validations">
  6434.         <xsl:param name="validation-set"/>
  6435.         <xsl:if test="$validation-set">
  6436.             <xsl:variable name="first-validation" select="$validation-set[1]"/>
  6437.             <xsl:variable name="condition-text">
  6438.                 <xsl:choose>
  6439.                     <xsl:when test="$first-validation/Φí¿:µáíΘ¬îτ▒╗σ₧ï/text()='whole number'">
  6440.                         <xsl:choose>
  6441.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='between' ">
  6442.                                 <xsl:value-of select="concat('oooc:cell-content-is-whole-number() and cell-content-is-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6443.                             </xsl:when>
  6444.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not between'">
  6445.                                 <xsl:value-of select="concat('oooc:cell-content-is-whole-number() and cell-content-is-not-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6446.                             </xsl:when>
  6447.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='equal to'">
  6448.                                 <xsl:value-of select="concat('oooc:cell-content-is-whole-number() and cell-content()=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6449.                             </xsl:when>
  6450.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not equal to'">
  6451.                                 <xsl:value-of select="concat('oooc:cell-content-is-whole-number() and cell-content()!=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6452.                             </xsl:when>
  6453.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than'">
  6454.                                 <xsl:value-of select="concat('oooc:cell-content-is-whole-number() and cell-content()>',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6455.                             </xsl:when>
  6456.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than'">
  6457.                                 <xsl:value-of select="concat('oooc:cell-content-is-whole-number() and cell-content()<',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6458.                             </xsl:when>
  6459.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than or equal to'">
  6460.                                 <xsl:value-of select="concat('oooc:cell-content-is-whole-number() and cell-content()>=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6461.                             </xsl:when>
  6462.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than or equal to'">
  6463.                                 <xsl:value-of select="concat('oooc:cell-content-is-whole-number() and cell-content()<=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6464.                             </xsl:when>
  6465.                         </xsl:choose>
  6466.                     </xsl:when>
  6467.                     <xsl:when test="$first-validation/Φí¿:µáíΘ¬îτ▒╗σ₧ï/text()='decimal'">
  6468.                         <xsl:choose>
  6469.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='between' ">
  6470.                                 <xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and cell-content-is-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6471.                             </xsl:when>
  6472.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not between'">
  6473.                                 <xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and cell-content-is-not-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6474.                             </xsl:when>
  6475.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='equal to'">
  6476.                                 <xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and cell-content()=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6477.                             </xsl:when>
  6478.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not equal to'">
  6479.                                 <xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and cell-content()!=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6480.                             </xsl:when>
  6481.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than'">
  6482.                                 <xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and cell-content()>',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6483.                             </xsl:when>
  6484.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than'">
  6485.                                 <xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and cell-content()<',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6486.                             </xsl:when>
  6487.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than or equal to'">
  6488.                                 <xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and cell-content()>=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6489.                             </xsl:when>
  6490.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than or equal to'">
  6491.                                 <xsl:value-of select="concat('oooc:cell-content-is-decimal-number() and cell-content()<=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6492.                             </xsl:when>
  6493.                         </xsl:choose>
  6494.                     </xsl:when>
  6495.                     <xsl:when test="$first-validation/Φí¿:µáíΘ¬îτ▒╗σ₧ï/text()='date'">
  6496.                         <xsl:choose>
  6497.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='between' ">
  6498.                                 <xsl:value-of select="concat('oooc:cell-content-is-date() and cell-content-is-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6499.                             </xsl:when>
  6500.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not between'">
  6501.                                 <xsl:value-of select="concat('oooc:cell-content-is-date() and cell-content-is-not-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6502.                             </xsl:when>
  6503.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='equal to'">
  6504.                                 <xsl:value-of select="concat('oooc:cell-content-is-date() and cell-content()=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6505.                             </xsl:when>
  6506.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not equal to'">
  6507.                                 <xsl:value-of select="concat('oooc:cell-content-is-date() and cell-content()!=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6508.                             </xsl:when>
  6509.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than'">
  6510.                                 <xsl:value-of select="concat('oooc:cell-content-is-date() and cell-content()>',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6511.                             </xsl:when>
  6512.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than'">
  6513.                                 <xsl:value-of select="concat('oooc:cell-content-is-date() and cell-content()<',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6514.                             </xsl:when>
  6515.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than or equal to'">
  6516.                                 <xsl:value-of select="concat('oooc:cell-content-is-date() and cell-content()>=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6517.                             </xsl:when>
  6518.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than or equal to'">
  6519.                                 <xsl:value-of select="concat('oooc:cell-content-is-date() and cell-content()<=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6520.                             </xsl:when>
  6521.                         </xsl:choose>
  6522.                     </xsl:when>
  6523.                     <xsl:when test="$first-validation/Φí¿:µáíΘ¬îτ▒╗σ₧ï/text()='time'">
  6524.                         <xsl:choose>
  6525.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='between' ">
  6526.                                 <xsl:value-of select="concat('oooc:cell-content-is-time() and cell-content-is-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6527.                             </xsl:when>
  6528.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not between'">
  6529.                                 <xsl:value-of select="concat('oooc:cell-content-is-time() and cell-content-is-not-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6530.                             </xsl:when>
  6531.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='equal to'">
  6532.                                 <xsl:value-of select="concat('oooc:cell-content-is-time() and cell-content()=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6533.                             </xsl:when>
  6534.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not equal to'">
  6535.                                 <xsl:value-of select="concat('oooc:cell-content-is-time() and cell-content()!=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6536.                             </xsl:when>
  6537.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than'">
  6538.                                 <xsl:value-of select="concat('oooc:cell-content-is-time() and cell-content()>',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6539.                             </xsl:when>
  6540.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than'">
  6541.                                 <xsl:value-of select="concat('oooc:cell-content-is-time() and cell-content()<',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6542.                             </xsl:when>
  6543.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than or equal to'">
  6544.                                 <xsl:value-of select="concat('oooc:cell-content-is-time() and cell-content()>=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6545.                             </xsl:when>
  6546.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than or equal to'">
  6547.                                 <xsl:value-of select="concat('oooc:cell-content-is-time() and cell-content()<=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6548.                             </xsl:when>
  6549.                         </xsl:choose>
  6550.                     </xsl:when>
  6551.                     <!-- add 20060317 -->
  6552.                     <xsl:when test="$first-validation/Φí¿:µáíΘ¬îτ▒╗σ₧ï/text()='cell range'">
  6553.                         <xsl:value-of select="concat('oooc:cell-content-is-in-list',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6554.                     </xsl:when>
  6555.                     <xsl:when test="$first-validation/Φí¿:µáíΘ¬îτ▒╗σ₧ï/text()='list'">
  6556.                         <xsl:value-of select="concat('oooc:cell-content-is-in-list',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6557.                     </xsl:when>
  6558.                     <!-- add 20060317 end -->
  6559.                     <xsl:when test="$first-validation/Φí¿:µáíΘ¬îτ▒╗σ₧ï/text()='text length'">
  6560.                         <xsl:choose>
  6561.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='between' ">
  6562.                                 <xsl:value-of select="concat('oooc:cell-content-text-length-is-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6563.                             </xsl:when>
  6564.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not between'">
  6565.                                 <xsl:value-of select="concat('oooc:cell-content-text-length-is-not-between','(',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',$first-validation/Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  6566.                             </xsl:when>
  6567.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='equal to'">
  6568.                                 <xsl:value-of select="concat('oooc:cell-content-text-length()=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6569.                             </xsl:when>
  6570.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='not equal to'">
  6571.                                 <xsl:value-of select="concat('oooc:cell-content-text-length()!=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6572.                             </xsl:when>
  6573.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than'">
  6574.                                 <xsl:value-of select="concat('oooc:cell-content-text-length()>',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6575.                             </xsl:when>
  6576.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than'">
  6577.                                 <xsl:value-of select="concat('oooc:cell-content-text-length()<',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6578.                             </xsl:when>
  6579.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='greater than or equal to'">
  6580.                                 <xsl:value-of select="concat('oooc:cell-content-text-length()>=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6581.                             </xsl:when>
  6582.                             <xsl:when test="$first-validation/Φí¿:µôìΣ╜£τáü/text()='less than or equal to'">
  6583.                                 <xsl:value-of select="concat('oooc:cell-content-text-length()<=',$first-validation/Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  6584.                             </xsl:when>
  6585.                         </xsl:choose>
  6586.                     </xsl:when>
  6587.                 </xsl:choose>
  6588.             </xsl:variable>
  6589.             <xsl:element name="table:content-validation">
  6590.                 <xsl:attribute name="table:name"><xsl:value-of select="concat('val',count($first-validation/preceding-sibling::Φí¿:µò░µì«µ£ëµòêµÇº)+1)"/></xsl:attribute>
  6591.                 <xsl:attribute name="table:condition"><xsl:value-of select="$condition-text"/></xsl:attribute>
  6592.                 <xsl:attribute name="table:allow-empty-cell"><xsl:value-of select="$first-validation/Φí¿:σ┐╜τòÑτ⌐║µá╝/@Φí¿:σÇ╝"/></xsl:attribute>
  6593.                 <xsl:attribute name="table:base-cell-address"><xsl:value-of select="translate(substring-after($first-validation/Φí¿:σî║σƒƒ/text(),':'),'$','')"/></xsl:attribute>
  6594.                 <xsl:if test="$first-validation/Φí¿:Φ╛ôσàѵÅÉτñ║">
  6595.                     <xsl:element name="table:help-message">
  6596.                         <xsl:attribute name="table:title"><xsl:value-of select="$first-validation/Φí¿:Φ╛ôσàѵÅÉτñ║/@Φí¿:µáçΘóÿ"/></xsl:attribute>
  6597.                         <xsl:attribute name="table:display"><xsl:value-of select="$first-validation/Φí¿:Φ╛ôσàѵÅÉτñ║/@Φí¿:µÿ╛τñ║"/></xsl:attribute>
  6598.                         <xsl:element name="text:p">
  6599.                             <xsl:value-of select="$first-validation/Φí¿:Φ╛ôσàѵÅÉτñ║/@Φí¿:σåàσ«╣"/>
  6600.                         </xsl:element>
  6601.                     </xsl:element>
  6602.                 </xsl:if>
  6603.                 <xsl:if test="$first-validation/Φí¿:ΘöÖΦ»»µÅÉτñ║">
  6604.                     <xsl:element name="table:error-message">
  6605.                         <xsl:attribute name="table:title"><xsl:value-of select="$first-validation/Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:µáçΘóÿ"/></xsl:attribute>
  6606.                         <xsl:attribute name="table:display"><xsl:value-of select="$first-validation/Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:µÿ╛τñ║"/></xsl:attribute>
  6607.                         <xsl:attribute name="table:message-type"><xsl:value-of select="$first-validation/Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:τ▒╗σ₧ï"/></xsl:attribute>
  6608.                         <xsl:element name="text:p">
  6609.                             <xsl:value-of select="$first-validation/Φí¿:ΘöÖΦ»»µÅÉτñ║/@Φí¿:σåàσ«╣"/>
  6610.                         </xsl:element>
  6611.                     </xsl:element>
  6612.                 </xsl:if>
  6613.             </xsl:element>
  6614.             <xsl:call-template name="create-content-validations">
  6615.                 <xsl:with-param name="validation-set" select="$validation-set[position()!=1]"/>
  6616.             </xsl:call-template>
  6617.         </xsl:if>
  6618.     </xsl:template>
  6619.     <!--RedOffice Comment from Zengjh:UOF0020 2006-04-26 charts-->
  6620.     <xsl:template match="Φí¿:σ¢╛Φí¿">
  6621.         <xsl:param name="table-name"/>
  6622.         <xsl:element name="draw:frame">
  6623.             <xsl:attribute name="draw:z-index"><xsl:value-of select="'0'"/></xsl:attribute>
  6624.             <xsl:attribute name="svg:width"><xsl:value-of select="concat(@Φí¿:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  6625.             <xsl:attribute name="svg:height"><xsl:value-of select="concat(@Φí¿:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  6626.             <xsl:attribute name="svg:x"><xsl:value-of select="concat(@Φí¿:xσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  6627.             <xsl:attribute name="svg:y"><xsl:value-of select="concat(@Φí¿:yσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  6628.             <xsl:variable name="chart-current">
  6629.                 <xsl:number level="any" count="Φí¿:σ¢╛Φí¿" format="1"/>
  6630.             </xsl:variable>
  6631.             <xsl:attribute name="draw:style-name"><xsl:value-of select="concat('chart', $chart-current)"/></xsl:attribute>
  6632.             <xsl:variable name="series-value-start">
  6633.                 <xsl:for-each select="Φí¿:µò░µì«µ║É/Φí¿:τ│╗σêù[position()='1']">
  6634.                     <xsl:value-of select="@Φí¿:τ│╗σêùσÇ╝"/>
  6635.                 </xsl:for-each>
  6636.             </xsl:variable>
  6637.             <xsl:variable name="series-value-end">
  6638.                 <xsl:for-each select="Φí¿:µò░µì«µ║É/Φí¿:τ│╗σêù[position()=last()]">
  6639.                     <xsl:value-of select="@Φí¿:τ│╗σêùσÇ╝"/>
  6640.                 </xsl:for-each>
  6641.             </xsl:variable>
  6642.             <xsl:variable name="series-generate-type">
  6643.                 <xsl:choose>
  6644.                     <xsl:when test="Φí¿:µò░µì«µ║É/@Φí¿σ║ÅσÅ╖Σ║ºτöƒ">
  6645.                         <xsl:value-of select="Φí¿:µò░µì«µ║É/@Φí¿σ║ÅσÅ╖Σ║ºτöƒ"/>
  6646.                     </xsl:when>
  6647.                     <xsl:when test="substring(substring-after($series-value-start,'!'),2,1)=substring(substring-after($series-value-start,':'),2,1)">row</xsl:when>
  6648.                     <xsl:otherwise>col</xsl:otherwise>
  6649.                 </xsl:choose>
  6650.             </xsl:variable>
  6651.             <xsl:element name="draw:object">
  6652.                 <xsl:attribute name="draw:notify-on-update-of-ranges"><xsl:value-of select="Φí¿:µò░µì«µ║É/@Φí¿:µò░µì«σî║σƒƒ"/></xsl:attribute>
  6653.                 <office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" office:version="1.0" office:mimetype="application/vnd.oasis.opendocument.chart">
  6654.                     <xsl:call-template name="Φí¿:σàâµò░µì«">
  6655.                         <xsl:with-param name="table-name" select="$table-name"/>
  6656.                         <xsl:with-param name="table-type" select="@Φí¿:τ▒╗σ₧ï"/>
  6657.                         <xsl:with-param name="table-subtype" select="@Φí¿:σ¡Éτ▒╗σ₧ï"/>
  6658.                         <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6659.                         <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6660.                         <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6661.                     </xsl:call-template>
  6662.                     <xsl:call-template name="Φí¿:σ╝ŵá╖Θ¢å">
  6663.                         <xsl:with-param name="table-name" select="$table-name"/>
  6664.                         <xsl:with-param name="table-type" select="@Φí¿:τ▒╗σ₧ï"/>
  6665.                         <xsl:with-param name="table-subtype" select="@Φí¿:σ¡Éτ▒╗σ₧ï"/>
  6666.                         <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6667.                         <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6668.                         <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6669.                     </xsl:call-template>
  6670.                     <xsl:call-template name="Φí¿:Σ╕╗Σ╜ô">
  6671.                         <xsl:with-param name="table-name" select="$table-name"/>
  6672.                         <xsl:with-param name="table-type" select="@Φí¿:τ▒╗σ₧ï"/>
  6673.                         <xsl:with-param name="table-subtype" select="@Φí¿:σ¡Éτ▒╗σ₧ï"/>
  6674.                         <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6675.                         <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6676.                         <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6677.                     </xsl:call-template>
  6678.                 </office:document>
  6679.             </xsl:element>
  6680.             <xsl:element name="draw:image">
  6681.                 <office:binary-data>
  6682.                     <xsl:value-of select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í/uof:µò░µì«"/>
  6683.                 </office:binary-data>
  6684.             </xsl:element>
  6685.         </xsl:element>
  6686.     </xsl:template>
  6687.     <xsl:template name="Φí¿:σàâµò░µì«">
  6688.         <xsl:param name="table-name"/>
  6689.         <xsl:param name="table-type"/>
  6690.         <xsl:param name="table-subtype"/>
  6691.         <xsl:param name="series-value-start"/>
  6692.         <xsl:param name="series-value-end"/>
  6693.         <xsl:param name="series-generate-type"/>
  6694.         <xsl:for-each select="/uof:UOF/uof:σàâµò░µì«">
  6695.             <office:meta>
  6696.                 <meta:generator>OpenOffice.org 1.1.3 (Win32)</meta:generator>
  6697.                 <xsl:if test="uof:µáçΘóÿ">
  6698.                     <dc:title>
  6699.                         <xsl:value-of select="uof:µáçΘóÿ"/>
  6700.                     </dc:title>
  6701.                 </xsl:if>
  6702.                 <xsl:if test="uof:µæÿΦªü">
  6703.                     <dc:description>
  6704.                         <xsl:value-of select="uof:µæÿΦªü"/>
  6705.                     </dc:description>
  6706.                 </xsl:if>
  6707.                 <xsl:if test="uof:Σ╕╗Θóÿ">
  6708.                     <dc:subject>
  6709.                         <xsl:value-of select="uof:Σ╕╗Θóÿ"/>
  6710.                     </dc:subject>
  6711.                 </xsl:if>
  6712.                 <xsl:if test="uof:Σ╜£ΦÇà">
  6713.                     <meta:initial-creator>
  6714.                         <xsl:value-of select="uof:Σ╜£ΦÇà"/>
  6715.                     </meta:initial-creator>
  6716.                 </xsl:if>
  6717.                 <xsl:if test="uof:σê¢σ╗║µùѵ£ƒ">
  6718.                     <meta:creation-date>
  6719.                         <xsl:value-of select="uof:σê¢σ╗║µùѵ£ƒ"/>
  6720.                     </meta:creation-date>
  6721.                 </xsl:if>
  6722.                 <xsl:if test="uof:µ£ÇσÉÄΣ╜£ΦÇà">
  6723.                     <dc:creator>
  6724.                         <xsl:value-of select="uof:µ£ÇσÉÄΣ╜£ΦÇà"/>
  6725.                     </dc:creator>
  6726.                 </xsl:if>
  6727.                 <xsl:if test="uof:τ╝ûΦ╛æµù╢Θù┤">
  6728.                     <meta:editing-duration>
  6729.                         <xsl:value-of select="uof:τ╝ûΦ╛æµù╢Θù┤"/>
  6730.                     </meta:editing-duration>
  6731.                 </xsl:if>
  6732.                 <dc:language/>
  6733.                 <meta:keywords>
  6734.                     <meta:keyword>
  6735.                         <xsl:value-of select="uof:σà│Θö«σ¡ùΘ¢å/uof:σà│Θö«σ¡ù"/>
  6736.                     </meta:keyword>
  6737.                 </meta:keywords>
  6738.                 <xsl:if test="uof:τ╝ûΦ╛æµ¼íµò░">
  6739.                     <meta:editing-cycles>
  6740.                         <xsl:value-of select="uof:τ╝ûΦ╛æµ¼íµò░"/>
  6741.                     </meta:editing-cycles>
  6742.                 </xsl:if>
  6743.                 <xsl:if test="uof:σêåτ▒╗">
  6744.                     <meta:user-defined meta:name="Category">
  6745.                         <xsl:value-of select="uof:σêåτ▒╗"/>
  6746.                     </meta:user-defined>
  6747.                 </xsl:if>
  6748.                 <xsl:if test="uof:τ╗ÅτÉåσÉìτº░">
  6749.                     <meta:user-defined meta:name="Manager">
  6750.                         <xsl:value-of select="uof:τ╗ÅτÉåσÉìτº░"/>
  6751.                     </meta:user-defined>
  6752.                 </xsl:if>
  6753.                 <xsl:if test="uof:σà¼σÅ╕σÉìτº░">
  6754.                     <meta:user-defined meta:name="Company">
  6755.                         <xsl:value-of select="uof:σà¼σÅ╕σÉìτº░"/>
  6756.                     </meta:user-defined>
  6757.                 </xsl:if>
  6758.                 <xsl:if test="uof:σê¢σ╗║σ║öτö¿τ¿ïσ║Å">
  6759.                     <meta:user-defined meta:name="Version">
  6760.                         <xsl:value-of select="uof:σê¢σ╗║σ║öτö¿τ¿ïσ║Å"/>
  6761.                     </meta:user-defined>
  6762.                 </xsl:if>
  6763.             </office:meta>
  6764.         </xsl:for-each>
  6765.     </xsl:template>
  6766.     <xsl:template name="Φí¿:σ╝ŵá╖Θ¢å">
  6767.         <xsl:param name="table-name"/>
  6768.         <xsl:param name="table-type"/>
  6769.         <xsl:param name="table-subtype"/>
  6770.         <xsl:param name="series-value-start"/>
  6771.         <xsl:param name="series-value-end"/>
  6772.         <xsl:param name="series-generate-type"/>
  6773.         <office:styles>
  6774.             <draw:stroke-dash draw:name="Ultrafine_20_Dashed" draw:display-name="Ultrafine Dashed" draw:style="rect" draw:dots1="1" draw:dots1-length="0.051cm" draw:dots2="1" draw:dots2-length="0.051cm" draw:distance="0.051cm"/>
  6775.             <draw:stroke-dash draw:name="Fine_20_Dashed" draw:display-name="Fine Dashed" draw:style="rect" draw:dots1="1" draw:dots1-length="0.508cm" draw:dots2="1" draw:dots2-length="0.508cm" draw:distance="0.508cm"/>
  6776.             <draw:stroke-dash draw:name="Ultrafine_20_2_20_Dots_20_3_20_Dashes" draw:display-name="Ultrafine 2 Dots 3 Dashes" draw:style="rect" draw:dots1="2" draw:dots1-length="0.051cm" draw:dots2="3" draw:dots2-length="0.254cm" draw:distance="0.127cm"/>
  6777.             <draw:stroke-dash draw:name="Fine_20_Dashed_20__28_var_29_" draw:display-name="Fine Dashed (var)" draw:style="rect" draw:dots1="1" draw:dots1-length="197%" draw:distance="197%"/>
  6778.             <draw:stroke-dash draw:name="Fine_20_Dotted" draw:display-name="Fine Dotted" draw:style="rect" draw:dots1="1" draw:distance="0.457cm"/>
  6779.             <draw:stroke-dash draw:name="Fine_20_Dashed_20__28_var_29_" draw:display-name="Fine Dashed (var)" draw:style="rect" draw:dots1="1" draw:dots1-length="197%" draw:distance="197%"/>
  6780.             <draw:stroke-dash draw:name="Fine_20_Dotted" draw:display-name="Fine Dotted" draw:style="rect" draw:dots1="1" draw:distance="0.457cm"/>
  6781.             <draw:stroke-dash draw:name="Line_20_with_20_Fine_20_Dots" draw:display-name="Line with Fine Dots" draw:style="rect" draw:dots1="1" draw:dots1-length="2.007cm" draw:dots2="10" draw:distance="0.152cm"/>
  6782.             <draw:stroke-dash draw:name="Line_20_Style_20_9" draw:display-name="Line Style 9" draw:style="rect" draw:dots1="1" draw:dots1-length="197%" draw:distance="120%"/>
  6783.             <draw:stroke-dash draw:name="_33__20_Dashes_20_3_20_Dots_20__28_var_29_" draw:display-name="3 Dashes 3 Dots (var)" draw:style="rect" draw:dots1="3" draw:dots1-length="197%" draw:dots2="3" draw:distance="100%"/>
  6784.             <draw:stroke-dash draw:name="_32__20_Dots_20_1_20_Dash" draw:display-name="2 Dots 1 Dash" draw:style="rect" draw:dots1="2" draw:dots2="1" draw:dots2-length="0.203cm" draw:distance="0.203cm"/>
  6785.             <draw:stroke-dash draw:name="Ultrafine_20_Dotted_20__28_var_29_" draw:display-name="Ultrafine Dotted (var)" draw:style="rect" draw:dots1="1" draw:distance="50%"/>
  6786.             <draw:stroke-dash draw:name="Dash_20_10" draw:display-name="Dash 10" draw:style="rect" draw:dots1="1" draw:dots1-length="0.02cm" draw:dots2="1" draw:dots2-length="0.02cm" draw:distance="0.02cm"/>
  6787.             <xsl:for-each select="//σ¢╛:σ¢╛τëç">
  6788.                 <xsl:variable name="chart-image-name" select="@σ¢╛:σÉìτº░"/>
  6789.                 <draw:fill-image>
  6790.                     <xsl:attribute name="draw:name"><xsl:value-of select="@σ¢╛:σÉìτº░"/></xsl:attribute>
  6791.                     <office:binary-data>
  6792.                         <xsl:for-each select="/uof:UOF/uof:σ»╣Φ▒íΘ¢å/uof:σà╢Σ╗ûσ»╣Φ▒í[@uof:µáçΦ»åτ¼ª=$chart-image-name]">
  6793.                             <xsl:value-of select="uof:µò░µì«"/>
  6794.                         </xsl:for-each>
  6795.                     </office:binary-data>
  6796.                 </draw:fill-image>
  6797.             </xsl:for-each>
  6798.             <xsl:for-each select="//σ¢╛:σ¢╛µíê">
  6799.                 <xsl:variable name="chart-hatch-name" select="@σ¢╛:σ¢╛σ╜óσ╝òτö¿"/>
  6800.                 <draw:hatch>
  6801.                     <xsl:if test="@σ¢╛:σ¢╛σ╜óσ╝òτö¿">
  6802.                         <xsl:attribute name="draw:name"><xsl:value-of select="$chart-hatch-name"/></xsl:attribute>
  6803.                     </xsl:if>
  6804.                     <xsl:if test="@σ¢╛:τ▒╗σ₧ï">
  6805.                         <xsl:attribute name="draw:style"><xsl:value-of select="@σ¢╛:τ▒╗σ₧ï"/></xsl:attribute>
  6806.                     </xsl:if>
  6807.                     <xsl:if test="@σ¢╛:σëìµÖ»Φë▓">
  6808.                         <xsl:attribute name="draw:color"><xsl:value-of select="@σ¢╛:σëìµÖ»Φë▓"/></xsl:attribute>
  6809.                     </xsl:if>
  6810.                     <xsl:if test="@σ¢╛:Φ╖¥τª╗">
  6811.                         <xsl:attribute name="draw:distance"><xsl:value-of select="@σ¢╛:Φ╖¥τª╗"/></xsl:attribute>
  6812.                     </xsl:if>
  6813.                     <xsl:if test="@σ¢╛:µùïΦ╜¼σ║ª">
  6814.                         <xsl:attribute name="draw:rotation"><xsl:value-of select="@σ¢╛:µùïΦ╜¼σ║ª"/></xsl:attribute>
  6815.                     </xsl:if>
  6816.                 </draw:hatch>
  6817.             </xsl:for-each>
  6818.             <xsl:for-each select="//σ¢╛:µ╕ÉσÅÿ">
  6819.                 <draw:gradient>
  6820.                     <xsl:if test="@σ¢╛:σ¢╛σ╜óσ╝òτö¿">
  6821.                         <xsl:attribute name="draw:name"><xsl:value-of select="@σ¢╛:σ¢╛σ╜óσ╝òτö¿"/></xsl:attribute>
  6822.                     </xsl:if>
  6823.                     <xsl:if test="@σ¢╛:Φ╡╖σºïΦë▓">
  6824.                         <xsl:attribute name="draw:start-color"><xsl:value-of select="@σ¢╛:Φ╡╖σºïΦë▓"/></xsl:attribute>
  6825.                     </xsl:if>
  6826.                     <xsl:if test="@σ¢╛:τ╗굡óΦë▓">
  6827.                         <xsl:attribute name="draw:end-color"><xsl:value-of select="@σ¢╛:τ╗굡óΦë▓"/></xsl:attribute>
  6828.                     </xsl:if>
  6829.                     <xsl:if test="@σ¢╛:τºìσ¡Éτ▒╗σ₧ï">
  6830.                         <xsl:attribute name="draw:style"><xsl:value-of select="@σ¢╛:τºìσ¡Éτ▒╗σ₧ï"/></xsl:attribute>
  6831.                     </xsl:if>
  6832.                     <xsl:if test="@σ¢╛:Φ╡╖σºïµ╡ôσ║ª">
  6833.                         <xsl:attribute name="draw:start-intensity"><xsl:value-of select="@σ¢╛:Φ╡╖σºïµ╡ôσ║ª"/></xsl:attribute>
  6834.                     </xsl:if>
  6835.                     <xsl:if test="@σ¢╛:τ╗굡óµ╡ôσ║ª">
  6836.                         <xsl:attribute name="draw:end-intensity"><xsl:value-of select="@σ¢╛:τ╗굡óµ╡ôσ║ª"/></xsl:attribute>
  6837.                     </xsl:if>
  6838.                     <xsl:if test="@σ¢╛:µ╕ÉσÅÿµû╣σÉæ">
  6839.                         <xsl:attribute name="draw:angle"><xsl:value-of select="@σ¢╛:µ╕ÉσÅÿµû╣σÉæ"/></xsl:attribute>
  6840.                     </xsl:if>
  6841.                     <xsl:if test="@σ¢╛:Φ╛╣τòî">
  6842.                         <xsl:attribute name="draw:border"><xsl:value-of select="@σ¢╛:Φ╛╣τòî"/></xsl:attribute>
  6843.                     </xsl:if>
  6844.                     <xsl:if test="@σ¢╛:τºìσ¡ÉXΣ╜ìτ╜«">
  6845.                         <xsl:attribute name="draw:cx"><xsl:value-of select="@σ¢╛:τºìσ¡ÉXΣ╜ìτ╜«"/></xsl:attribute>
  6846.                     </xsl:if>
  6847.                     <xsl:if test="@σ¢╛:τºìσ¡ÉYΣ╜ìτ╜«">
  6848.                         <xsl:attribute name="draw:cy"><xsl:value-of select="@σ¢╛:τºìσ¡ÉYΣ╜ìτ╜«"/></xsl:attribute>
  6849.                     </xsl:if>
  6850.                 </draw:gradient>
  6851.             </xsl:for-each>
  6852.         </office:styles>
  6853.         <office:automatic-styles>
  6854.             <xsl:for-each select="node( )">
  6855.                 <xsl:choose>
  6856.                     <xsl:when test="name(.)='Φí¿:σ¢╛Φí¿σî║'">
  6857.                         <xsl:call-template name="Φí¿:σ¢╛Φí¿σî║σ╝ŵá╖">
  6858.                             <xsl:with-param name="table-name" select="$table-name"/>
  6859.                             <xsl:with-param name="table-type" select="$table-type"/>
  6860.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6861.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6862.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6863.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6864.                         </xsl:call-template>
  6865.                     </xsl:when>
  6866.                     <xsl:when test="name(.)='Φí¿:τ╗ÿσ¢╛σî║'">
  6867.                         <xsl:call-template name="Φí¿:τ╗ÿσ¢╛σî║σ╝ŵá╖">
  6868.                             <xsl:with-param name="table-name" select="$table-name"/>
  6869.                             <xsl:with-param name="table-type" select="$table-type"/>
  6870.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6871.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6872.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6873.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6874.                         </xsl:call-template>
  6875.                         <xsl:call-template name="Φí¿:σ¢╛Φí¿ΦâîµÖ»σóÖσ╝ŵá╖">
  6876.                             <xsl:with-param name="table-name" select="$table-name"/>
  6877.                             <xsl:with-param name="table-type" select="$table-type"/>
  6878.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6879.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6880.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6881.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6882.                         </xsl:call-template>
  6883.                     </xsl:when>
  6884.                     <xsl:when test="name(.)='Φí¿:σêåτ▒╗Φ╜┤'">
  6885.                         <xsl:call-template name="Φí¿:σêåτ▒╗Φ╜┤σ╝ŵá╖">
  6886.                             <xsl:with-param name="table-name" select="$table-name"/>
  6887.                             <xsl:with-param name="table-type" select="$table-type"/>
  6888.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6889.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6890.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6891.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6892.                         </xsl:call-template>
  6893.                     </xsl:when>
  6894.                     <xsl:when test="name(.)='Φí¿:µò░σÇ╝Φ╜┤'">
  6895.                         <xsl:call-template name="Φí¿:µò░σÇ╝Φ╜┤σ╝ŵá╖">
  6896.                             <xsl:with-param name="table-name" select="$table-name"/>
  6897.                             <xsl:with-param name="table-type" select="$table-type"/>
  6898.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6899.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6900.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6901.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6902.                         </xsl:call-template>
  6903.                     </xsl:when>
  6904.                     <xsl:when test="name(.)='Φí¿:σ¢╛Σ╛ï'">
  6905.                         <xsl:call-template name="Φí¿:σ¢╛Σ╛ïσ╝ŵá╖">
  6906.                             <xsl:with-param name="table-name" select="$table-name"/>
  6907.                             <xsl:with-param name="table-type" select="$table-type"/>
  6908.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6909.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6910.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6911.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6912.                         </xsl:call-template>
  6913.                     </xsl:when>
  6914.                     <xsl:when test="name(.)='Φí¿:µò░µì«Φí¿'">
  6915.                         <xsl:call-template name="Φí¿:µò░µì«Φí¿σ╝ŵá╖">
  6916.                             <xsl:with-param name="table-name" select="$table-name"/>
  6917.                             <xsl:with-param name="table-type" select="$table-type"/>
  6918.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6919.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6920.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6921.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6922.                         </xsl:call-template>
  6923.                     </xsl:when>
  6924.                     <xsl:when test="name(.)='Φí¿:µò░µì«τ│╗σêùΘ¢å'">
  6925.                         <xsl:call-template name="Φí¿:µò░µì«τ│╗σêùΘ¢åσ╝ŵá╖">
  6926.                             <xsl:with-param name="table-name" select="$table-name"/>
  6927.                             <xsl:with-param name="table-type" select="$table-type"/>
  6928.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6929.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6930.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6931.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6932.                         </xsl:call-template>
  6933.                     </xsl:when>
  6934.                     <xsl:when test="name(.)='Φí¿:µò░µì«τé╣Θ¢å'">
  6935.                         <xsl:call-template name="Φí¿:µò░µì«τé╣Θ¢åσ╝ŵá╖">
  6936.                             <xsl:with-param name="table-name" select="$table-name"/>
  6937.                             <xsl:with-param name="table-type" select="$table-type"/>
  6938.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6939.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6940.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6941.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6942.                         </xsl:call-template>
  6943.                     </xsl:when>
  6944.                     <xsl:when test="name(.)='Φí¿:τ╜æµá╝τ║┐Θ¢å'">
  6945.                         <xsl:call-template name="Φí¿:τ╜æµá╝τ║┐Θ¢åσ╝ŵá╖">
  6946.                             <xsl:with-param name="table-name" select="$table-name"/>
  6947.                             <xsl:with-param name="table-type" select="$table-type"/>
  6948.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6949.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6950.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6951.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6952.                         </xsl:call-template>
  6953.                     </xsl:when>
  6954.                     <xsl:when test="name(.)='Φí¿:µò░µì«µ║É'">
  6955.                         <xsl:call-template name="Φí¿:µò░µì«µ║Éσ╝ŵá╖">
  6956.                             <xsl:with-param name="table-name" select="$table-name"/>
  6957.                             <xsl:with-param name="table-type" select="$table-type"/>
  6958.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6959.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6960.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6961.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6962.                         </xsl:call-template>
  6963.                     </xsl:when>
  6964.                     <xsl:when test="name(.)='Φí¿:µáçΘóÿΘ¢å'">
  6965.                         <xsl:call-template name="Φí¿:µáçΘóÿΘ¢åσ╝ŵá╖">
  6966.                             <xsl:with-param name="table-name" select="$table-name"/>
  6967.                             <xsl:with-param name="table-type" select="$table-type"/>
  6968.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  6969.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  6970.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  6971.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  6972.                         </xsl:call-template>
  6973.                     </xsl:when>
  6974.                     <xsl:otherwise/>
  6975.                 </xsl:choose>
  6976.             </xsl:for-each>
  6977.         </office:automatic-styles>
  6978.     </xsl:template>
  6979.     <xsl:template name="Φí¿:Σ╕╗Σ╜ô">
  6980.         <xsl:param name="table-name"/>
  6981.         <xsl:param name="table-type"/>
  6982.         <xsl:param name="table-subtype"/>
  6983.         <xsl:param name="series-value-start"/>
  6984.         <xsl:param name="series-value-end"/>
  6985.         <xsl:param name="series-generate-type"/>
  6986.         <office:body>
  6987.             <office:chart>
  6988.                 <chart:chart>
  6989.                     <xsl:attribute name="svg:width"><xsl:value-of select="concat(@Φí¿:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  6990.                     <xsl:attribute name="svg:height"><xsl:value-of select="concat(@Φí¿:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  6991.                     <xsl:attribute name="chart:class"><xsl:choose><xsl:when test="$table-type='column'">chart:bar</xsl:when><xsl:when test="$table-type='line'">chart:line</xsl:when><xsl:when test="$table-type='pie'"><xsl:choose><xsl:when test="$table-subtype='pie_ring'">chart:ring</xsl:when><xsl:otherwise>chart:circle</xsl:otherwise></xsl:choose></xsl:when><xsl:otherwise><xsl:value-of select="$table-type"/></xsl:otherwise></xsl:choose></xsl:attribute>
  6992.                     <xsl:attribute name="chart:style-name">chart-area</xsl:attribute>
  6993.                     <xsl:for-each select="Φí¿:µáçΘóÿΘ¢å/Φí¿:µáçΘóÿ[@Φí¿:Σ╜ìτ╜«='chart']">
  6994.                         <chart:title chart:style-name="chart-title">
  6995.                             <text:p>
  6996.                                 <xsl:value-of select="@Φí¿:σÉìτº░"/>
  6997.                             </text:p>
  6998.                         </chart:title>
  6999.                     </xsl:for-each>
  7000.                     <xsl:call-template name="Φí¿:σ¢╛Σ╛ïσî║σƒƒ">
  7001.                         <xsl:with-param name="table-name" select="$table-name"/>
  7002.                         <xsl:with-param name="table-type" select="$table-type"/>
  7003.                         <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7004.                         <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7005.                         <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7006.                         <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7007.                     </xsl:call-template>
  7008.                     <xsl:call-template name="Φí¿:τ╗ÿσ¢╛σî║σƒƒ">
  7009.                         <xsl:with-param name="table-name" select="$table-name"/>
  7010.                         <xsl:with-param name="table-type" select="$table-type"/>
  7011.                         <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7012.                         <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7013.                         <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7014.                         <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7015.                     </xsl:call-template>
  7016.                     <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿">
  7017.                         <xsl:with-param name="table-name" select="$table-name"/>
  7018.                         <xsl:with-param name="table-type" select="$table-type"/>
  7019.                         <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7020.                         <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7021.                         <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7022.                         <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7023.                     </xsl:call-template>
  7024.                 </chart:chart>
  7025.             </office:chart>
  7026.         </office:body>
  7027.     </xsl:template>
  7028.     <xsl:template name="Φí¿:σ¢╛Σ╛ïσî║σƒƒ">
  7029.         <xsl:param name="table-name"/>
  7030.         <xsl:param name="table-type"/>
  7031.         <xsl:param name="table-subtype"/>
  7032.         <xsl:param name="series-value-start"/>
  7033.         <xsl:param name="series-value-end"/>
  7034.         <xsl:param name="series-generate-type"/>
  7035.         <chart:legend>
  7036.             <xsl:attribute name="chart:legend-position"><xsl:choose><xsl:when test="Φí¿:σ¢╛Σ╛ï/@Φí¿:Σ╜ìτ╜«"><xsl:value-of select="Φí¿:σ¢╛Σ╛ï/@Φí¿:Σ╜ìτ╜«"/></xsl:when><xsl:otherwise>right</xsl:otherwise></xsl:choose></xsl:attribute>
  7037.             <xsl:attribute name="svg:x"><xsl:value-of select="concat(Φí¿:σ¢╛Σ╛ï/@Φí¿:xσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  7038.             <xsl:attribute name="svg:y"><xsl:value-of select="concat(Φí¿:σ¢╛Σ╛ï/@Φí¿:yσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  7039.             <xsl:attribute name="chart:style-name">legend</xsl:attribute>
  7040.         </chart:legend>
  7041.     </xsl:template>
  7042.     <xsl:template name="Φí¿:τ╗ÿσ¢╛σî║σƒƒ">
  7043.         <xsl:param name="table-name"/>
  7044.         <xsl:param name="table-type"/>
  7045.         <xsl:param name="table-subtype"/>
  7046.         <xsl:param name="series-value-start"/>
  7047.         <xsl:param name="series-value-end"/>
  7048.         <xsl:param name="series-generate-type"/>
  7049.         <chart:plot-area>
  7050.             <xsl:variable name="start-range">
  7051.                 <xsl:value-of select="concat('.$',substring(substring-after($series-value-start,'!'),1,1),'$',substring-before(substring(substring-after($series-value-start,'!'),2),':'))"/>
  7052.             </xsl:variable>
  7053.             <xsl:variable name="end-range">
  7054.                 <xsl:value-of select="concat(':.$',substring(substring-after($series-value-end,':'),1,1),'$',substring(substring-after($series-value-end,':'),2))"/>
  7055.             </xsl:variable>
  7056.             <xsl:attribute name="chart:style-name">plot-area</xsl:attribute>
  7057.             <xsl:attribute name="table:cell-range-address"><xsl:value-of select="concat($table-name,$start-range,$end-range)"/></xsl:attribute>
  7058.             <!--xsl:value-of select="Φí¿:µò░µì«µ║É/@Φí¿:µò░µì«σî║σƒƒ"/-->
  7059.             <xsl:attribute name="chart:table-number-list">0</xsl:attribute>
  7060.             <xsl:attribute name="svg:width"><xsl:value-of select="concat(Φí¿:τ╗ÿσ¢╛σî║/@Φí¿:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  7061.             <xsl:attribute name="svg:height"><xsl:value-of select="concat(Φí¿:τ╗ÿσ¢╛σî║/@Φí¿:Θ½ÿσ║ª,$uofUnit)"/></xsl:attribute>
  7062.             <xsl:attribute name="svg:x"><xsl:value-of select="concat(Φí¿:τ╗ÿσ¢╛σî║/@Φí¿:xσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  7063.             <xsl:attribute name="svg:y"><xsl:value-of select="concat(Φí¿:τ╗ÿσ¢╛σî║/@Φí¿:yσ¥Éµáç,$uofUnit)"/></xsl:attribute>
  7064.             <xsl:if test="Φí¿:σêåτ▒╗Φ╜┤">
  7065.                 <chart:axis chart:dimension="x" chart:name="primary-x" chart:style-name="category-axis">
  7066.                     <xsl:for-each select="Φí¿:µáçΘóÿΘ¢å/Φí¿:µáçΘóÿ[@Φí¿:Σ╜ìτ╜«='category axis']">
  7067.                         <chart:title chart:style-name="category-axis-title">
  7068.                             <text:p>
  7069.                                 <xsl:value-of select="@Φí¿:σÉìτº░"/>
  7070.                             </text:p>
  7071.                         </chart:title>
  7072.                     </xsl:for-each>
  7073.                     <chart:categories/>
  7074.                     <xsl:if test="Φí¿:τ╜æµá╝τ║┐Θ¢å/Φí¿:τ╜æµá╝τ║┐[@Φí¿:Σ╜ìτ╜«='category axis']">
  7075.                         <chart:grid chart:style-name="category-axis-grid" chart:class="major"/>
  7076.                     </xsl:if>
  7077.                 </chart:axis>
  7078.             </xsl:if>
  7079.             <xsl:if test="Φí¿:µò░σÇ╝Φ╜┤">
  7080.                 <chart:axis chart:dimension="y" chart:name="primary-y" chart:style-name="value-axis">
  7081.                     <xsl:for-each select="Φí¿:µáçΘóÿΘ¢å/Φí¿:µáçΘóÿ[@Φí¿:Σ╜ìτ╜«='value axis']">
  7082.                         <chart:title chart:style-name="value-axis-title">
  7083.                             <text:p>
  7084.                                 <xsl:value-of select="@Φí¿:σÉìτº░"/>
  7085.                             </text:p>
  7086.                         </chart:title>
  7087.                     </xsl:for-each>
  7088.                     <chart:grid chart:style-name="value-axis-grid" chart:class="major"/>
  7089.                 </chart:axis>
  7090.             </xsl:if>
  7091.             <xsl:call-template name="Φí¿:µò░µì«τ╗ä">
  7092.                 <xsl:with-param name="table-name" select="$table-name"/>
  7093.                 <xsl:with-param name="table-type" select="$table-type"/>
  7094.                 <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7095.                 <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7096.                 <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7097.                 <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7098.             </xsl:call-template>
  7099.             <chart:wall>
  7100.                 <xsl:attribute name="chart:style-name">chart-wall</xsl:attribute>
  7101.             </chart:wall>
  7102.             <chart:floor>
  7103.                 <xsl:attribute name="chart:style-name">chart-floor</xsl:attribute>
  7104.             </chart:floor>
  7105.         </chart:plot-area>
  7106.     </xsl:template>
  7107.     <xsl:template name="Φí¿:µ£¼σ£░Φí¿">
  7108.         <xsl:param name="table-name"/>
  7109.         <xsl:param name="table-type"/>
  7110.         <xsl:param name="table-subtype"/>
  7111.         <xsl:param name="series-value-start"/>
  7112.         <xsl:param name="series-value-end"/>
  7113.         <xsl:param name="series-generate-type"/>
  7114.         <table:table table:name="local-table">
  7115.             <table:table-header-columns>
  7116.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤σêù">
  7117.                     <xsl:with-param name="table-name" select="$table-name"/>
  7118.                     <xsl:with-param name="table-type" select="$table-type"/>
  7119.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7120.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7121.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7122.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7123.                     <xsl:with-param name="sum" select="1"/>
  7124.                 </xsl:call-template>
  7125.             </table:table-header-columns>
  7126.             <table:table-columns>
  7127.                 <xsl:variable name="column-sum">
  7128.                     <xsl:value-of select="count(Φí¿:µò░µì«µ║É/Φí¿:τ│╗σêù)"/>
  7129.                 </xsl:variable>
  7130.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_σêù">
  7131.                     <xsl:with-param name="table-name" select="$table-name"/>
  7132.                     <xsl:with-param name="table-type" select="$table-type"/>
  7133.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7134.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7135.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7136.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7137.                     <xsl:with-param name="column-sum" select="$column-sum"/>
  7138.                 </xsl:call-template>
  7139.             </table:table-columns>
  7140.             <table:table-header-rows>
  7141.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤Φíî">
  7142.                     <xsl:with-param name="table-name" select="$table-name"/>
  7143.                     <xsl:with-param name="table-type" select="$table-type"/>
  7144.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7145.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7146.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7147.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7148.                     <xsl:with-param name="row-current" select="1"/>
  7149.                     <xsl:with-param name="fixed-row-sum" select="'1'"/>
  7150.                 </xsl:call-template>
  7151.             </table:table-header-rows>
  7152.             <table:table-rows>
  7153.                 <xsl:variable name="row-start">
  7154.                     <xsl:value-of select="substring-before(substring(substring-after($series-value-start,'!'),2),':')"/>
  7155.                 </xsl:variable>
  7156.                 <xsl:variable name="row-end">
  7157.                     <xsl:value-of select="substring(substring-after($series-value-end,':'),2)"/>
  7158.                 </xsl:variable>
  7159.                 <xsl:variable name="fixed-row-sum">
  7160.                     <xsl:value-of select="$row-end -$row-start +1"/>
  7161.                 </xsl:variable>
  7162.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φíî">
  7163.                     <xsl:with-param name="table-name" select="$table-name"/>
  7164.                     <xsl:with-param name="table-type" select="$table-type"/>
  7165.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7166.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7167.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7168.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7169.                     <xsl:with-param name="row-current" select="'1'"/>
  7170.                     <xsl:with-param name="fixed-row-sum" select="$fixed-row-sum"/>
  7171.                 </xsl:call-template>
  7172.             </table:table-rows>
  7173.         </table:table>
  7174.     </xsl:template>
  7175.     <xsl:template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤σêù">
  7176.         <xsl:param name="table-name"/>
  7177.         <xsl:param name="table-type"/>
  7178.         <xsl:param name="table-subtype"/>
  7179.         <xsl:param name="series-value-start"/>
  7180.         <xsl:param name="series-value-end"/>
  7181.         <xsl:param name="series-generate-type"/>
  7182.         <xsl:param name="sum"/>
  7183.         <xsl:choose>
  7184.             <xsl:when test="$sum=0"/>
  7185.             <xsl:otherwise>
  7186.                 <table:table-column/>
  7187.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤σêù">
  7188.                     <xsl:with-param name="sum" select="$sum -1"/>
  7189.                 </xsl:call-template>
  7190.             </xsl:otherwise>
  7191.         </xsl:choose>
  7192.     </xsl:template>
  7193.     <xsl:template name="Φí¿:µ£¼σ£░Φí¿_σêù">
  7194.         <xsl:param name="table-name"/>
  7195.         <xsl:param name="table-type"/>
  7196.         <xsl:param name="table-subtype"/>
  7197.         <xsl:param name="series-value-start"/>
  7198.         <xsl:param name="series-value-end"/>
  7199.         <xsl:param name="series-generate-type"/>
  7200.         <xsl:param name="column-sum"/>
  7201.         <xsl:choose>
  7202.             <xsl:when test="$column-sum=0"/>
  7203.             <xsl:otherwise>
  7204.                 <table:table-column/>
  7205.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_σêù">
  7206.                     <xsl:with-param name="column-sum" select="$column-sum -1"/>
  7207.                 </xsl:call-template>
  7208.             </xsl:otherwise>
  7209.         </xsl:choose>
  7210.     </xsl:template>
  7211.     <xsl:template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤Φíî">
  7212.         <xsl:param name="table-name"/>
  7213.         <xsl:param name="table-type"/>
  7214.         <xsl:param name="table-subtype"/>
  7215.         <xsl:param name="series-value-start"/>
  7216.         <xsl:param name="series-value-end"/>
  7217.         <xsl:param name="series-generate-type"/>
  7218.         <xsl:param name="row-current"/>
  7219.         <xsl:param name="fixed-row-sum"/>
  7220.         <xsl:choose>
  7221.             <xsl:when test="$row-current >$fixed-row-sum"/>
  7222.             <xsl:otherwise>
  7223.                 <table:table-row>
  7224.                     <xsl:variable name="series-value-current">
  7225.                         <xsl:for-each select="Φí¿:µò░µì«µ║É/Φí¿:τ│╗σêù[position()=$row-current]">
  7226.                             <xsl:value-of select="@Φí¿:τ│╗σêùσÇ╝"/>
  7227.                         </xsl:for-each>
  7228.                     </xsl:variable>
  7229.                     <xsl:variable name="cell-start">
  7230.                         <xsl:call-template name="General-Char-Transition">
  7231.                             <xsl:with-param name="input-char" select="substring(substring-after($series-value-start,'!'),1,1)"/>
  7232.                             <xsl:with-param name="output-type" select="'ARABIC'"/>
  7233.                         </xsl:call-template>
  7234.                     </xsl:variable>
  7235.                     <xsl:variable name="cell-end">
  7236.                         <xsl:choose>
  7237.                             <xsl:when test="$series-generate-type='row'">
  7238.                                 <xsl:call-template name="General-Char-Transition">
  7239.                                     <xsl:with-param name="input-char" select="substring(substring-after($series-value-start,':'),1,1)"/>
  7240.                                     <xsl:with-param name="output-type" select="'ARABIC'"/>
  7241.                                 </xsl:call-template>
  7242.                             </xsl:when>
  7243.                             <xsl:otherwise>
  7244.                                 <xsl:call-template name="General-Char-Transition">
  7245.                                     <xsl:with-param name="input-char" select="substring(substring-after($series-value-end,'!'),1,1)"/>
  7246.                                     <xsl:with-param name="output-type" select="'ARABIC'"/>
  7247.                                 </xsl:call-template>
  7248.                             </xsl:otherwise>
  7249.                         </xsl:choose>
  7250.                     </xsl:variable>
  7251.                     <xsl:variable name="cell-sum">
  7252.                         <xsl:value-of select="$cell-end -$cell-start +2"/>
  7253.                     </xsl:variable>
  7254.                     <xsl:variable name="fixed-cell-sum" select="$cell-sum"/>
  7255.                     <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤Φíî_σìòσàâµá╝">
  7256.                         <xsl:with-param name="table-name" select="$table-name"/>
  7257.                         <xsl:with-param name="table-type" select="$table-type"/>
  7258.                         <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7259.                         <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7260.                         <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7261.                         <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7262.                         <xsl:with-param name="series-value-current" select="$series-value-current"/>
  7263.                         <xsl:with-param name="row-current" select="$row-current"/>
  7264.                         <xsl:with-param name="cell-sum" select="$cell-sum"/>
  7265.                         <xsl:with-param name="fixed-cell-sum" select="$fixed-cell-sum"/>
  7266.                     </xsl:call-template>
  7267.                 </table:table-row>
  7268.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤Φíî">
  7269.                     <xsl:with-param name="table-name" select="$table-name"/>
  7270.                     <xsl:with-param name="table-type" select="$table-type"/>
  7271.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7272.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7273.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7274.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7275.                     <xsl:with-param name="row-current" select="$row-current +1"/>
  7276.                     <xsl:with-param name="fixed-row-sum" select="$fixed-row-sum"/>
  7277.                 </xsl:call-template>
  7278.             </xsl:otherwise>
  7279.         </xsl:choose>
  7280.     </xsl:template>
  7281.     <xsl:template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤Φíî_σìòσàâµá╝">
  7282.         <xsl:param name="table-name"/>
  7283.         <xsl:param name="table-type"/>
  7284.         <xsl:param name="table-subtype"/>
  7285.         <xsl:param name="series-value-start"/>
  7286.         <xsl:param name="series-value-end"/>
  7287.         <xsl:param name="series-generate-type"/>
  7288.         <xsl:param name="series-value-current"/>
  7289.         <xsl:param name="row-current"/>
  7290.         <xsl:param name="cell-sum"/>
  7291.         <xsl:param name="fixed-cell-sum"/>
  7292.         <xsl:choose>
  7293.             <xsl:when test="$cell-sum=0"/>
  7294.             <xsl:otherwise>
  7295.                 <xsl:choose>
  7296.                     <xsl:when test="$fixed-cell-sum=$cell-sum">
  7297.                         <table:table-cell>
  7298.                             <text:p/>
  7299.                         </table:table-cell>
  7300.                     </xsl:when>
  7301.                     <xsl:otherwise>
  7302.                         <table:table-cell office:value-type="string">
  7303.                             <xsl:variable name="cell-no">
  7304.                                 <xsl:value-of select="$fixed-cell-sum -$cell-sum +1"/>
  7305.                             </xsl:variable>
  7306.                             <xsl:variable name="cell-start">
  7307.                                 <xsl:call-template name="General-Char-Transition">
  7308.                                     <xsl:with-param name="input-char" select="substring(substring-after($series-value-start,'!'),1,1)"/>
  7309.                                     <xsl:with-param name="output-type" select="'ARABIC'"/>
  7310.                                 </xsl:call-template>
  7311.                             </xsl:variable>
  7312.                             <xsl:variable name="char">
  7313.                                 <xsl:call-template name="General-Char-Transition">
  7314.                                     <xsl:with-param name="input-char" select="$cell-start +$cell-no -2"/>
  7315.                                     <xsl:with-param name="output-type" select="'CHARS_UPPER_LETTER'"/>
  7316.                                 </xsl:call-template>
  7317.                             </xsl:variable>
  7318.                             <text:p>
  7319.                                 <xsl:value-of select="concat('σêù ',$char)"/>
  7320.                             </text:p>
  7321.                         </table:table-cell>
  7322.                     </xsl:otherwise>
  7323.                 </xsl:choose>
  7324.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φí¿σñ┤Φíî_σìòσàâµá╝">
  7325.                     <xsl:with-param name="table-name" select="$table-name"/>
  7326.                     <xsl:with-param name="table-type" select="$table-type"/>
  7327.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7328.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7329.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7330.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7331.                     <xsl:with-param name="series-value-current" select="$series-value-current"/>
  7332.                     <xsl:with-param name="row-current" select="$row-current"/>
  7333.                     <xsl:with-param name="cell-sum" select="$cell-sum -1"/>
  7334.                     <xsl:with-param name="fixed-cell-sum" select="$fixed-cell-sum"/>
  7335.                 </xsl:call-template>
  7336.             </xsl:otherwise>
  7337.         </xsl:choose>
  7338.     </xsl:template>
  7339.     <xsl:template name="Φí¿:µ£¼σ£░Φí¿_Φíî">
  7340.         <xsl:param name="table-name"/>
  7341.         <xsl:param name="table-type"/>
  7342.         <xsl:param name="table-subtype"/>
  7343.         <xsl:param name="series-value-start"/>
  7344.         <xsl:param name="series-value-end"/>
  7345.         <xsl:param name="series-generate-type"/>
  7346.         <xsl:param name="row-current"/>
  7347.         <xsl:param name="fixed-row-sum"/>
  7348.         <xsl:choose>
  7349.             <xsl:when test="$row-current >$fixed-row-sum"/>
  7350.             <xsl:otherwise>
  7351.                 <xsl:variable name="series-value-current">
  7352.                     <xsl:for-each select="Φí¿:µò░µì«µ║É/Φí¿:τ│╗σêù[position()=$row-current]">
  7353.                         <xsl:value-of select="@Φí¿:τ│╗σêùσÇ╝"/>
  7354.                     </xsl:for-each>
  7355.                 </xsl:variable>
  7356.                 <table:table-row>
  7357.                     <xsl:variable name="cell-start">
  7358.                         <xsl:call-template name="General-Char-Transition">
  7359.                             <xsl:with-param name="input-char" select="substring(substring-after($series-value-start,'!'),1,1)"/>
  7360.                             <xsl:with-param name="output-type" select="'ARABIC'"/>
  7361.                         </xsl:call-template>
  7362.                     </xsl:variable>
  7363.                     <xsl:variable name="cell-end">
  7364.                         <xsl:choose>
  7365.                             <xsl:when test="$series-generate-type='row'">
  7366.                                 <xsl:call-template name="General-Char-Transition">
  7367.                                     <xsl:with-param name="input-char" select="substring(substring-after($series-value-start,':'),1,1)"/>
  7368.                                     <xsl:with-param name="output-type" select="'ARABIC'"/>
  7369.                                 </xsl:call-template>
  7370.                             </xsl:when>
  7371.                             <xsl:otherwise>
  7372.                                 <xsl:call-template name="General-Char-Transition">
  7373.                                     <xsl:with-param name="input-char" select="substring(substring-after($series-value-end,'!'),1,1)"/>
  7374.                                     <xsl:with-param name="output-type" select="'ARABIC'"/>
  7375.                                 </xsl:call-template>
  7376.                             </xsl:otherwise>
  7377.                         </xsl:choose>
  7378.                     </xsl:variable>
  7379.                     <xsl:variable name="cell-sum">
  7380.                         <xsl:value-of select="$cell-end -$cell-start +2"/>
  7381.                     </xsl:variable>
  7382.                     <xsl:variable name="fixed-cell-sum" select="$cell-sum"/>
  7383.                     <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φíî_σìòσàâµá╝">
  7384.                         <xsl:with-param name="table-name" select="$table-name"/>
  7385.                         <xsl:with-param name="table-type" select="$table-type"/>
  7386.                         <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7387.                         <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7388.                         <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7389.                         <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7390.                         <xsl:with-param name="series-value-current" select="$series-value-current"/>
  7391.                         <xsl:with-param name="row-current" select="$row-current"/>
  7392.                         <xsl:with-param name="cell-sum" select="$cell-sum"/>
  7393.                         <xsl:with-param name="fixed-cell-sum" select="$fixed-cell-sum"/>
  7394.                     </xsl:call-template>
  7395.                 </table:table-row>
  7396.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φíî">
  7397.                     <xsl:with-param name="table-name" select="$table-name"/>
  7398.                     <xsl:with-param name="table-type" select="$table-type"/>
  7399.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7400.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7401.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7402.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7403.                     <xsl:with-param name="row-current" select="$row-current +1"/>
  7404.                     <xsl:with-param name="fixed-row-sum" select="$fixed-row-sum"/>
  7405.                 </xsl:call-template>
  7406.             </xsl:otherwise>
  7407.         </xsl:choose>
  7408.     </xsl:template>
  7409.     <xsl:template name="Φí¿:µ£¼σ£░Φí¿_Φíî_σìòσàâµá╝">
  7410.         <xsl:param name="table-name"/>
  7411.         <xsl:param name="table-type"/>
  7412.         <xsl:param name="table-subtype"/>
  7413.         <xsl:param name="series-value-start"/>
  7414.         <xsl:param name="series-value-end"/>
  7415.         <xsl:param name="series-generate-type"/>
  7416.         <xsl:param name="series-value-current"/>
  7417.         <xsl:param name="row-current"/>
  7418.         <xsl:param name="cell-sum"/>
  7419.         <xsl:param name="fixed-cell-sum"/>
  7420.         <xsl:choose>
  7421.             <xsl:when test="$cell-sum=0"/>
  7422.             <xsl:otherwise>
  7423.                 <xsl:variable name="cell-start">
  7424.                     <xsl:call-template name="General-Char-Transition">
  7425.                         <xsl:with-param name="input-char" select="substring(substring-after($series-value-start,'!'),1,1)"/>
  7426.                         <xsl:with-param name="output-type" select="'ARABIC'"/>
  7427.                     </xsl:call-template>
  7428.                 </xsl:variable>
  7429.                 <xsl:variable name="cell-no">
  7430.                     <xsl:value-of select="$cell-start +$fixed-cell-sum -$cell-sum -1"/>
  7431.                 </xsl:variable>
  7432.                 <xsl:variable name="row-start">
  7433.                     <xsl:value-of select="substring(substring-after($series-value-start,'!'),2,1)"/>
  7434.                 </xsl:variable>
  7435.                 <xsl:variable name="row-no">
  7436.                     <xsl:value-of select="$row-start +$row-current -1"/>
  7437.                 </xsl:variable>
  7438.                 <xsl:choose>
  7439.                     <xsl:when test="$fixed-cell-sum=$cell-sum">
  7440.                         <table:table-cell office:value-type="string">
  7441.                             <text:p>
  7442.                                 <xsl:value-of select="concat('Φíî ',$row-no)"/>
  7443.                             </text:p>
  7444.                         </table:table-cell>
  7445.                     </xsl:when>
  7446.                     <xsl:otherwise>
  7447.                         <table:table-cell office:value-type="float">
  7448.                             <xsl:variable name="cell-content">
  7449.                                 <xsl:choose>
  7450.                                     <xsl:when test="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî/@Φí¿:ΦíîσÅ╖">
  7451.                                         <xsl:for-each select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[@Φí¿:ΦíîσÅ╖=$row-no]">
  7452.                                             <xsl:for-each select="Φí¿:σìòσàâµá╝[@Φí¿:σêùσÅ╖=$cell-no]">
  7453.                                                 <xsl:value-of select="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/>
  7454.                                             </xsl:for-each>
  7455.                                         </xsl:for-each>
  7456.                                     </xsl:when>
  7457.                                     <xsl:otherwise>
  7458.                                         <xsl:for-each select="/uof:UOF/uof:τö╡σ¡ÉΦí¿µá╝/Φí¿:Σ╕╗Σ╜ô/Φí¿:σ╖ÑΣ╜£Φí¿/Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣/Φí¿:Φíî[position()=$row-no]">
  7459.                                             <xsl:for-each select="Φí¿:σìòσàâµá╝[position()=$cell-no]">
  7460.                                                 <xsl:value-of select="Φí¿:µò░µì«/σ¡ù:σÅÑ/σ¡ù:µûçµ£¼Σ╕▓"/>
  7461.                                             </xsl:for-each>
  7462.                                         </xsl:for-each>
  7463.                                     </xsl:otherwise>
  7464.                                 </xsl:choose>
  7465.                             </xsl:variable>
  7466.                             <xsl:attribute name="office:value"><xsl:value-of select="$cell-content"/></xsl:attribute>
  7467.                             <text:p>
  7468.                                 <xsl:value-of select="$cell-content"/>
  7469.                             </text:p>
  7470.                         </table:table-cell>
  7471.                     </xsl:otherwise>
  7472.                 </xsl:choose>
  7473.                 <xsl:call-template name="Φí¿:µ£¼σ£░Φí¿_Φíî_σìòσàâµá╝">
  7474.                     <xsl:with-param name="table-name" select="$table-name"/>
  7475.                     <xsl:with-param name="table-type" select="$table-type"/>
  7476.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7477.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7478.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7479.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7480.                     <xsl:with-param name="series-value-current" select="$series-value-current"/>
  7481.                     <xsl:with-param name="row-current" select="$row-current"/>
  7482.                     <xsl:with-param name="cell-sum" select="$cell-sum -1"/>
  7483.                     <xsl:with-param name="fixed-cell-sum" select="$fixed-cell-sum"/>
  7484.                 </xsl:call-template>
  7485.             </xsl:otherwise>
  7486.         </xsl:choose>
  7487.     </xsl:template>
  7488.     <xsl:template name="Φí¿:µò░µì«τ╗ä">
  7489.         <xsl:param name="table-name"/>
  7490.         <xsl:param name="table-type"/>
  7491.         <xsl:param name="table-subtype"/>
  7492.         <xsl:param name="series-value-start"/>
  7493.         <xsl:param name="series-value-end"/>
  7494.         <xsl:param name="series-generate-type"/>
  7495.         <xsl:variable name="input-char-start">
  7496.             <xsl:choose>
  7497.                 <xsl:when test="$series-generate-type='row'">
  7498.                     <xsl:value-of select="substring(substring-after($series-value-start,'!'),1,1)"/>
  7499.                 </xsl:when>
  7500.                 <xsl:otherwise>
  7501.                     <xsl:value-of select="substring-before(substring(substring-after($series-value-start,'!'),2),':')"/>
  7502.                 </xsl:otherwise>
  7503.             </xsl:choose>
  7504.         </xsl:variable>
  7505.         <xsl:variable name="input-char-end">
  7506.             <xsl:choose>
  7507.                 <xsl:when test="$series-generate-type='row'">
  7508.                     <xsl:value-of select="substring(substring-after($series-value-start,':'),1,1)"/>
  7509.                 </xsl:when>
  7510.                 <xsl:otherwise>
  7511.                     <xsl:value-of select="substring(substring-after($series-value-start,':'),2)"/>
  7512.                 </xsl:otherwise>
  7513.             </xsl:choose>
  7514.         </xsl:variable>
  7515.         <xsl:variable name="cell-start">
  7516.             <xsl:call-template name="General-Char-Transition">
  7517.                 <xsl:with-param name="input-char" select="$input-char-start"/>
  7518.                 <xsl:with-param name="output-type" select="'ARABIC'"/>
  7519.             </xsl:call-template>
  7520.         </xsl:variable>
  7521.         <xsl:variable name="cell-end">
  7522.             <xsl:call-template name="General-Char-Transition">
  7523.                 <xsl:with-param name="input-char" select="$input-char-end"/>
  7524.                 <xsl:with-param name="output-type" select="'ARABIC'"/>
  7525.             </xsl:call-template>
  7526.         </xsl:variable>
  7527.         <xsl:variable name="fixed-cell-sum">
  7528.             <xsl:value-of select="$cell-end -$cell-start +1"/>
  7529.         </xsl:variable>
  7530.         <xsl:for-each select="Φí¿:µò░µì«τ│╗σêùΘ¢å/Φí¿:µò░µì«τ│╗σêù">
  7531.             <chart:series>
  7532.                 <xsl:attribute name="chart:style-name"><xsl:value-of select="concat('data-series',position())"/></xsl:attribute>
  7533.                 <xsl:call-template name="Φí¿:µò░µì«τé╣">
  7534.                     <xsl:with-param name="table-name" select="$table-name"/>
  7535.                     <xsl:with-param name="table-type" select="$table-type"/>
  7536.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7537.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7538.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7539.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7540.                     <xsl:with-param name="data-series-current" select="position()"/>
  7541.                     <xsl:with-param name="cell-current" select="'1'"/>
  7542.                     <xsl:with-param name="fixed-cell-sum" select="$fixed-cell-sum"/>
  7543.                 </xsl:call-template>
  7544.             </chart:series>
  7545.         </xsl:for-each>
  7546.     </xsl:template>
  7547.     <xsl:template name="Φí¿:µò░µì«τé╣">
  7548.         <xsl:param name="table-name"/>
  7549.         <xsl:param name="table-type"/>
  7550.         <xsl:param name="table-subtype"/>
  7551.         <xsl:param name="series-value-start"/>
  7552.         <xsl:param name="series-value-end"/>
  7553.         <xsl:param name="series-generate-type"/>
  7554.         <xsl:param name="data-series-current"/>
  7555.         <xsl:param name="cell-current"/>
  7556.         <xsl:param name="fixed-cell-sum"/>
  7557.         <xsl:choose>
  7558.             <xsl:when test="$cell-current>$fixed-cell-sum"/>
  7559.             <xsl:otherwise>
  7560.                 <chart:data-point>
  7561.                     <xsl:attribute name="chart:style-name"><xsl:value-of select="concat('data-point',$data-series-current,$cell-current)"/></xsl:attribute>
  7562.                 </chart:data-point>
  7563.                 <xsl:call-template name="Φí¿:µò░µì«τé╣">
  7564.                     <xsl:with-param name="table-name" select="$table-name"/>
  7565.                     <xsl:with-param name="table-type" select="$table-type"/>
  7566.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7567.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7568.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7569.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7570.                     <xsl:with-param name="data-series-current" select="$data-series-current"/>
  7571.                     <xsl:with-param name="cell-current" select="$cell-current +1"/>
  7572.                     <xsl:with-param name="fixed-cell-sum" select="$fixed-cell-sum"/>
  7573.                 </xsl:call-template>
  7574.             </xsl:otherwise>
  7575.         </xsl:choose>
  7576.     </xsl:template>
  7577.     <xsl:template name="Φí¿:σ¢╛Φí¿σî║σ╝ŵá╖">
  7578.         <xsl:param name="table-name"/>
  7579.         <xsl:param name="table-type"/>
  7580.         <xsl:param name="table-subtype"/>
  7581.         <xsl:param name="series-value-start"/>
  7582.         <xsl:param name="series-value-end"/>
  7583.         <xsl:param name="series-generate-type"/>
  7584.         <style:style style:name="chart-area" style:family="chart">
  7585.             <xsl:for-each select="node()">
  7586.                 <xsl:choose>
  7587.                     <xsl:when test="name(.)='Φí¿:Φ╛╣µíå'">
  7588.                         <style:graphic-properties>
  7589.                             <xsl:call-template name="uof:Φ╛╣µíå"/>
  7590.                         </style:graphic-properties>
  7591.                     </xsl:when>
  7592.                     <xsl:when test="name(.)='Φí¿:σí½σàà'">
  7593.                         <style:graphic-properties>
  7594.                             <xsl:call-template name="σ¢╛:σí½σààτ▒╗σ₧ï"/>
  7595.                         </style:graphic-properties>
  7596.                     </xsl:when>
  7597.                     <xsl:when test="name(.)='Φí¿:σ¡ùΣ╜ô'">
  7598.                         <style:text-properties>
  7599.                             <xsl:call-template name="σ¡ù:σÅÑσ▒₧µÇºτ▒╗σ₧ï"/>
  7600.                         </style:text-properties>
  7601.                     </xsl:when>
  7602.                 </xsl:choose>
  7603.             </xsl:for-each>
  7604.         </style:style>
  7605.     </xsl:template>
  7606.     <xsl:template name="Φí¿:τ╗ÿσ¢╛σî║σ╝ŵá╖">
  7607.         <xsl:param name="table-name"/>
  7608.         <xsl:param name="table-type"/>
  7609.         <xsl:param name="table-subtype"/>
  7610.         <xsl:param name="series-value-start"/>
  7611.         <xsl:param name="series-value-end"/>
  7612.         <xsl:param name="series-generate-type"/>
  7613.         <style:style style:name="plot-area" style:family="chart">
  7614.             <style:chart-properties>
  7615.                 <xsl:choose>
  7616.                     <xsl:when test="$table-subtype='bar_stacked' or $table-subtype='column_stacked' or $table-subtype='line_stacked'">
  7617.                         <xsl:attribute name="chart:stacked">true</xsl:attribute>
  7618.                     </xsl:when>
  7619.                     <xsl:when test="$table-subtype='bar_percent' or $table-subtype='column_percent' or $table-subtype='line_percent'">
  7620.                         <xsl:attribute name="chart:percentage">true</xsl:attribute>
  7621.                     </xsl:when>
  7622.                 </xsl:choose>
  7623.                 <xsl:attribute name="chart:vertical"><xsl:choose><xsl:when test="$table-type='bar'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute>
  7624.                 <xsl:attribute name="chart:series-source"><xsl:choose><xsl:when test="$series-generate-type='row'">rows</xsl:when><xsl:otherwise>columns</xsl:otherwise></xsl:choose></xsl:attribute>
  7625.             </style:chart-properties>
  7626.         </style:style>
  7627.     </xsl:template>
  7628.     <xsl:template name="Φí¿:σ¢╛Φí¿ΦâîµÖ»σóÖσ╝ŵá╖">
  7629.         <xsl:param name="table-name"/>
  7630.         <xsl:param name="table-type"/>
  7631.         <xsl:param name="table-subtype"/>
  7632.         <xsl:param name="series-value-start"/>
  7633.         <xsl:param name="series-value-end"/>
  7634.         <xsl:param name="series-generate-type"/>
  7635.         <style:style style:name="chart-wall" style:family="chart">
  7636.             <style:graphic-properties>
  7637.                 <xsl:for-each select="node()">
  7638.                     <xsl:choose>
  7639.                         <xsl:when test="name(.)='Φí¿:Φ╛╣µíå'">
  7640.                             <xsl:call-template name="uof:Φ╛╣µíå"/>
  7641.                         </xsl:when>
  7642.                         <xsl:when test="name(.)='Φí¿:σí½σàà'">
  7643.                             <xsl:call-template name="σ¢╛:σí½σààτ▒╗σ₧ï"/>
  7644.                         </xsl:when>
  7645.                     </xsl:choose>
  7646.                 </xsl:for-each>
  7647.             </style:graphic-properties>
  7648.         </style:style>
  7649.     </xsl:template>
  7650.     <xsl:template name="Φí¿:σêåτ▒╗Φ╜┤σ╝ŵá╖">
  7651.         <xsl:param name="table-name"/>
  7652.         <xsl:param name="table-type"/>
  7653.         <xsl:param name="table-subtype"/>
  7654.         <xsl:param name="series-value-start"/>
  7655.         <xsl:param name="series-value-end"/>
  7656.         <xsl:param name="series-generate-type"/>
  7657.         <style:style style:name="category-axis" style:family="chart">
  7658.             <xsl:call-template name="Φí¿:σ¥ÉµáçΦ╜┤τ▒╗σ₧ï">
  7659.                 <xsl:with-param name="table-name" select="$table-name"/>
  7660.                 <xsl:with-param name="table-type" select="$table-type"/>
  7661.                 <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7662.                 <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7663.                 <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7664.                 <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7665.                 <xsl:with-param name="axis-type" select="'category axis'"/>
  7666.             </xsl:call-template>
  7667.         </style:style>
  7668.     </xsl:template>
  7669.     <xsl:template name="Φí¿:µò░σÇ╝Φ╜┤σ╝ŵá╖">
  7670.         <xsl:param name="table-name"/>
  7671.         <xsl:param name="table-type"/>
  7672.         <xsl:param name="table-subtype"/>
  7673.         <xsl:param name="series-value-start"/>
  7674.         <xsl:param name="series-value-end"/>
  7675.         <xsl:param name="series-generate-type"/>
  7676.         <style:style style:name="value-axis" style:family="chart">
  7677.             <xsl:call-template name="Φí¿:σ¥ÉµáçΦ╜┤τ▒╗σ₧ï">
  7678.                 <xsl:with-param name="table-name" select="$table-name"/>
  7679.                 <xsl:with-param name="table-type" select="$table-type"/>
  7680.                 <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7681.                 <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7682.                 <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7683.                 <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7684.                 <xsl:with-param name="axis-type" select="'value axis'"/>
  7685.             </xsl:call-template>
  7686.         </style:style>
  7687.     </xsl:template>
  7688.     <xsl:template name="Φí¿:σ¢╛Σ╛ïσ╝ŵá╖">
  7689.         <xsl:param name="table-name"/>
  7690.         <xsl:param name="table-type"/>
  7691.         <xsl:param name="table-subtype"/>
  7692.         <xsl:param name="series-value-start"/>
  7693.         <xsl:param name="series-value-end"/>
  7694.         <xsl:param name="series-generate-type"/>
  7695.         <style:style style:name="legend" style:family="chart">
  7696.             <xsl:for-each select="node()">
  7697.                 <xsl:choose>
  7698.                     <xsl:when test="name(.)='Φí¿:Φ╛╣µíå'">
  7699.                         <style:graphic-properties>
  7700.                             <xsl:call-template name="uof:Φ╛╣µíå"/>
  7701.                         </style:graphic-properties>
  7702.                     </xsl:when>
  7703.                     <xsl:when test="name(.)='Φí¿:σí½σàà'">
  7704.                         <style:graphic-properties>
  7705.                             <xsl:call-template name="σ¢╛:σí½σààτ▒╗σ₧ï"/>
  7706.                         </style:graphic-properties>
  7707.                     </xsl:when>
  7708.                     <xsl:when test="name(.)='Φí¿:σ¡ùΣ╜ô'">
  7709.                         <style:text-properties>
  7710.                             <xsl:call-template name="σ¡ù:σÅÑσ▒₧µÇºτ▒╗σ₧ï"/>
  7711.                         </style:text-properties>
  7712.                     </xsl:when>
  7713.                 </xsl:choose>
  7714.             </xsl:for-each>
  7715.         </style:style>
  7716.     </xsl:template>
  7717.     <xsl:template name="Φí¿:µò░µì«Φí¿σ╝ŵá╖">
  7718.         <xsl:param name="table-name"/>
  7719.         <xsl:param name="table-type"/>
  7720.         <xsl:param name="table-subtype"/>
  7721.         <xsl:param name="series-value-start"/>
  7722.         <xsl:param name="series-value-end"/>
  7723.         <xsl:param name="series-generate-type"/>
  7724.         <style:style style:name="data-table" style:family="chart">
  7725.             <xsl:for-each select="node()">
  7726.                 <xsl:choose>
  7727.                     <xsl:when test="name(.)='Φí¿:Φ╛╣µíå'">
  7728.                         <style:graphic-properties>
  7729.                             <xsl:call-template name="uof:Φ╛╣µíå"/>
  7730.                         </style:graphic-properties>
  7731.                     </xsl:when>
  7732.                     <xsl:when test="name(.)='Φí¿:σí½σàà'">
  7733.                         <style:graphic-properties>
  7734.                             <xsl:call-template name="σ¢╛:σí½σààτ▒╗σ₧ï"/>
  7735.                         </style:graphic-properties>
  7736.                     </xsl:when>
  7737.                     <xsl:when test="name(.)='Φí¿:σ¡ùΣ╜ô'">
  7738.                         <style:text-properties>
  7739.                             <xsl:call-template name="σ¡ù:σÅÑσ▒₧µÇºτ▒╗σ₧ï"/>
  7740.                         </style:text-properties>
  7741.                     </xsl:when>
  7742.                 </xsl:choose>
  7743.             </xsl:for-each>
  7744.         </style:style>
  7745.     </xsl:template>
  7746.     <xsl:template name="Φí¿:µò░µì«τ│╗σêùΘ¢åσ╝ŵá╖">
  7747.         <xsl:param name="table-name"/>
  7748.         <xsl:param name="table-type"/>
  7749.         <xsl:param name="table-subtype"/>
  7750.         <xsl:param name="series-value-start"/>
  7751.         <xsl:param name="series-value-end"/>
  7752.         <xsl:param name="series-generate-type"/>
  7753.         <xsl:for-each select="Φí¿:µò░µì«τ│╗σêù">
  7754.             <style:style style:family="chart">
  7755.                 <xsl:variable name="current-positon" select="position()"/>
  7756.                 <xsl:attribute name="style:name"><xsl:value-of select="concat('data-series',$current-positon)"/></xsl:attribute>
  7757.                 <xsl:call-template name="Φí¿:µò░µì«τé╣τ▒╗σ₧ï">
  7758.                     <xsl:with-param name="table-name" select="$table-name"/>
  7759.                     <xsl:with-param name="table-type" select="$table-type"/>
  7760.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7761.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7762.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7763.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7764.                     <xsl:with-param name="recall-type" select="'data-series'"/>
  7765.                 </xsl:call-template>
  7766.             </style:style>
  7767.         </xsl:for-each>
  7768.     </xsl:template>
  7769.     <xsl:template name="Φí¿:µò░µì«τé╣Θ¢åσ╝ŵá╖">
  7770.         <xsl:param name="table-name"/>
  7771.         <xsl:param name="table-type"/>
  7772.         <xsl:param name="table-subtype"/>
  7773.         <xsl:param name="series-value-start"/>
  7774.         <xsl:param name="series-value-end"/>
  7775.         <xsl:param name="series-generate-type"/>
  7776.         <xsl:for-each select="Φí¿:µò░µì«τé╣">
  7777.             <style:style style:family="chart">
  7778.                 <xsl:attribute name="style:name"><xsl:value-of select="concat('data-point',@Φí¿:τ│╗σêù,@Φí¿:τé╣)"/></xsl:attribute>
  7779.                 <xsl:call-template name="Φí¿:µò░µì«τé╣τ▒╗σ₧ï">
  7780.                     <xsl:with-param name="table-name" select="$table-name"/>
  7781.                     <xsl:with-param name="table-type" select="$table-type"/>
  7782.                     <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7783.                     <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7784.                     <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7785.                     <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7786.                     <xsl:with-param name="recall-type" select="'data-point'"/>
  7787.                 </xsl:call-template>
  7788.             </style:style>
  7789.         </xsl:for-each>
  7790.     </xsl:template>
  7791.     <xsl:template name="Φí¿:τ╜æµá╝τ║┐Θ¢åσ╝ŵá╖">
  7792.         <xsl:param name="table-name"/>
  7793.         <xsl:param name="table-type"/>
  7794.         <xsl:param name="table-subtype"/>
  7795.         <xsl:param name="series-value-start"/>
  7796.         <xsl:param name="series-value-end"/>
  7797.         <xsl:param name="series-generate-type"/>
  7798.         <xsl:for-each select="Φí¿:τ╜æµá╝τ║┐">
  7799.             <xsl:choose>
  7800.                 <xsl:when test="@Φí¿:Σ╜ìτ╜«='category axis'">
  7801.                     <style:style style:name="category-axis-grid" style:family="chart">
  7802.                         <style:graphic-properties>
  7803.                             <xsl:call-template name="uof:Φ╛╣µíå"/>
  7804.                         </style:graphic-properties>
  7805.                     </style:style>
  7806.                 </xsl:when>
  7807.                 <xsl:when test="@Φí¿:Σ╜ìτ╜«='value axis'">
  7808.                     <style:style style:name="value-axis-grid" style:family="chart">
  7809.                         <style:graphic-properties>
  7810.                             <xsl:call-template name="uof:Φ╛╣µíå"/>
  7811.                         </style:graphic-properties>
  7812.                     </style:style>
  7813.                 </xsl:when>
  7814.                 <xsl:otherwise/>
  7815.             </xsl:choose>
  7816.         </xsl:for-each>
  7817.     </xsl:template>
  7818.     <xsl:template name="Φí¿:µò░µì«µ║Éσ╝ŵá╖">
  7819.         <xsl:param name="table-name"/>
  7820.         <xsl:param name="table-type"/>
  7821.         <xsl:param name="table-subtype"/>
  7822.         <xsl:param name="series-value-start"/>
  7823.         <xsl:param name="series-value-end"/>
  7824.         <xsl:param name="series-generate-type"/>
  7825.         <xsl:for-each select="Φí¿:τ│╗σêù">
  7826.             <style:style style:family="chart">
  7827.                 <xsl:variable name="current-positon" select="position()"/>
  7828.                 <xsl:attribute name="style:name"><xsl:value-of select="concat('data-source',$current-positon)"/></xsl:attribute>
  7829.             </style:style>
  7830.         </xsl:for-each>
  7831.     </xsl:template>
  7832.     <xsl:template name="Φí¿:µáçΘóÿΘ¢åσ╝ŵá╖">
  7833.         <xsl:param name="table-name"/>
  7834.         <xsl:param name="table-type"/>
  7835.         <xsl:param name="table-subtype"/>
  7836.         <xsl:param name="series-value-start"/>
  7837.         <xsl:param name="series-value-end"/>
  7838.         <xsl:param name="series-generate-type"/>
  7839.         <xsl:for-each select="Φí¿:µáçΘóÿ">
  7840.             <xsl:choose>
  7841.                 <xsl:when test="@Φí¿:Σ╜ìτ╜«='chart'">
  7842.                     <style:style style:name="chart-title" style:family="chart">
  7843.                         <xsl:call-template name="Φí¿:µáçΘóÿτ▒╗σ₧ï">
  7844.                             <xsl:with-param name="table-name" select="$table-name"/>
  7845.                             <xsl:with-param name="table-type" select="$table-type"/>
  7846.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7847.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7848.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7849.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7850.                         </xsl:call-template>
  7851.                     </style:style>
  7852.                 </xsl:when>
  7853.                 <xsl:when test="@Φí¿:Σ╜ìτ╜«='category axis'">
  7854.                     <style:style style:name="category-axis-title" style:family="chart">
  7855.                         <xsl:call-template name="Φí¿:µáçΘóÿτ▒╗σ₧ï">
  7856.                             <xsl:with-param name="table-name" select="$table-name"/>
  7857.                             <xsl:with-param name="table-type" select="$table-type"/>
  7858.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7859.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7860.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7861.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7862.                         </xsl:call-template>
  7863.                     </style:style>
  7864.                 </xsl:when>
  7865.                 <xsl:when test="@Φí¿:Σ╜ìτ╜«='value axis'">
  7866.                     <style:style style:name="value-axis-title" style:family="chart">
  7867.                         <xsl:call-template name="Φí¿:µáçΘóÿτ▒╗σ₧ï">
  7868.                             <xsl:with-param name="table-name" select="$table-name"/>
  7869.                             <xsl:with-param name="table-type" select="$table-type"/>
  7870.                             <xsl:with-param name="table-subtype" select="$table-subtype"/>
  7871.                             <xsl:with-param name="series-value-start" select="$series-value-start"/>
  7872.                             <xsl:with-param name="series-value-end" select="$series-value-end"/>
  7873.                             <xsl:with-param name="series-generate-type" select="$series-generate-type"/>
  7874.                         </xsl:call-template>
  7875.                     </style:style>
  7876.                 </xsl:when>
  7877.                 <xsl:otherwise/>
  7878.             </xsl:choose>
  7879.         </xsl:for-each>
  7880.     </xsl:template>
  7881.     <xsl:template name="Φí¿:σ¥ÉµáçΦ╜┤τ▒╗σ₧ï">
  7882.         <xsl:param name="table-name"/>
  7883.         <xsl:param name="table-type"/>
  7884.         <xsl:param name="table-subtype"/>
  7885.         <xsl:param name="series-value-start"/>
  7886.         <xsl:param name="series-value-end"/>
  7887.         <xsl:param name="series-generate-type"/>
  7888.         <xsl:param name="axis-type"/>
  7889.         <style:chart-properties>
  7890.             <xsl:choose>
  7891.                 <xsl:when test="@Φí¿:Σ╕╗σê╗σ║ªτ▒╗σ₧ï='cross'">
  7892.                     <xsl:attribute name="chart:tick-marks-major-inner">true</xsl:attribute>
  7893.                     <xsl:attribute name="chart:tick-marks-major-outer">true</xsl:attribute>
  7894.                 </xsl:when>
  7895.                 <xsl:when test="@Φí¿:Σ╕╗σê╗σ║ªτ▒╗σ₧ï='inside'">
  7896.                     <xsl:attribute name="chart:tick-marks-major-inner">true</xsl:attribute>
  7897.                     <xsl:attribute name="chart:tick-marks-major-outer">false</xsl:attribute>
  7898.                 </xsl:when>
  7899.                 <xsl:when test="@Φí¿:Σ╕╗σê╗σ║ªτ▒╗σ₧ï='outside'">
  7900.                     <xsl:attribute name="chart:tick-marks-major-inner">false</xsl:attribute>
  7901.                     <xsl:attribute name="chart:tick-marks-major-outer">true</xsl:attribute>
  7902.                 </xsl:when>
  7903.                 <xsl:otherwise/>
  7904.             </xsl:choose>
  7905.             <xsl:choose>
  7906.                 <xsl:when test="@Φí¿:µ¼íσê╗σ║ªτ▒╗σ₧ï='cross'">
  7907.                     <xsl:attribute name="chart:tick-marks-minor-inner">true</xsl:attribute>
  7908.                     <xsl:attribute name="chart:tick-marks-minor-outer">true</xsl:attribute>
  7909.                 </xsl:when>
  7910.                 <xsl:when test="@Φí¿:µ¼íσê╗σ║ªτ▒╗σ₧ï='inside'">
  7911.                     <xsl:attribute name="chart:tick-marks-minor-inner">true</xsl:attribute>
  7912.                     <xsl:attribute name="chart:tick-marks-minor-outer">false</xsl:attribute>
  7913.                 </xsl:when>
  7914.                 <xsl:when test="@Φí¿:µ¼íσê╗σ║ªτ▒╗σ₧ï='outside'">
  7915.                     <xsl:attribute name="chart:tick-marks-minor-inner">false</xsl:attribute>
  7916.                     <xsl:attribute name="chart:tick-marks-minor-outer">true</xsl:attribute>
  7917.                 </xsl:when>
  7918.                 <xsl:otherwise/>
  7919.             </xsl:choose>
  7920.             <xsl:if test="@Φí¿:σê╗σ║ªτ║┐µáçσ┐ù='next to axis'">
  7921.                 <xsl:attribute name="chart:display-label">true</xsl:attribute>
  7922.             </xsl:if>
  7923.             <xsl:for-each select="node()">
  7924.                 <xsl:choose>
  7925.                     <xsl:when test="name(.)='Φí¿:τ║┐σ₧ï'">
  7926.                         <xsl:call-template name="uof:τ║┐σ₧ï"/>
  7927.                     </xsl:when>
  7928.                     <xsl:when test="name(.)='Φí¿:µò░σÇ╝'">
  7929.                         <xsl:attribute name="chart:link-data-style-to-source"><xsl:value-of select="@Φí¿:Θô╛µÄÑσê░µ║É"/></xsl:attribute>
  7930.                     </xsl:when>
  7931.                     <xsl:when test="name(.)='Φí¿:σê╗σ║ª'">
  7932.                         <xsl:call-template name="Φí¿:σê╗σ║ªτ▒╗σ₧ï"/>
  7933.                     </xsl:when>
  7934.                     <xsl:when test="name(.)='Φí¿:σ»╣Θ╜É'">
  7935.                         <xsl:if test="Φí¿:µûçσ¡ùµû╣σÉæ">
  7936.                             <xsl:attribute name="fo:direction"><xsl:value-of select="Φí¿:µûçσ¡ùµû╣σÉæ"/></xsl:attribute>
  7937.                         </xsl:if>
  7938.                         <xsl:if test="Φí¿:µùïΦ╜¼ΦºÆσ║ª">
  7939.                             <xsl:attribute name="text:rotation-angle"><xsl:value-of select="Φí¿:µùïΦ╜¼ΦºÆσ║ª"/></xsl:attribute>
  7940.                         </xsl:if>
  7941.                     </xsl:when>
  7942.                 </xsl:choose>
  7943.             </xsl:for-each>
  7944.         </style:chart-properties>
  7945.         <xsl:if test="Φí¿:σ¡ùΣ╜ô">
  7946.             <xsl:for-each select="Φí¿:σ¡ùΣ╜ô">
  7947.                 <xsl:element name="style:text-properties">
  7948.                     <xsl:call-template name="σ¡ù:σÅÑσ▒₧µÇºτ▒╗σ₧ï"/>
  7949.                 </xsl:element>
  7950.             </xsl:for-each>
  7951.         </xsl:if>
  7952.     </xsl:template>
  7953.     <xsl:template name="Φí¿:µò░µì«τé╣τ▒╗σ₧ï">
  7954.         <xsl:param name="table-name"/>
  7955.         <xsl:param name="table-type"/>
  7956.         <xsl:param name="table-subtype"/>
  7957.         <xsl:param name="series-value-start"/>
  7958.         <xsl:param name="series-value-end"/>
  7959.         <xsl:param name="series-generate-type"/>
  7960.         <xsl:param name="recall-type"/>
  7961.         <xsl:if test="name(.)='Φí¿:µò░µì«τé╣'">
  7962.             <style:chart-properties>
  7963.                 <xsl:if test="$table-type='pie' and $table-subtype='pie_offset1' and @Φí¿:τé╣='1'">
  7964.                     <xsl:attribute name="chart:pie-offset">10</xsl:attribute>
  7965.                 </xsl:if>
  7966.                 <xsl:if test="$table-type='pie' and $table-subtype='pie_offset2'">
  7967.                     <xsl:attribute name="chart:pie-offset">10</xsl:attribute>
  7968.                 </xsl:if>
  7969.             </style:chart-properties>
  7970.         </xsl:if>
  7971.         <xsl:for-each select="node()">
  7972.             <xsl:choose>
  7973.                 <xsl:when test="name(.)='Φí¿:Φ╛╣µíå'">
  7974.                     <style:graphic-properties>
  7975.                         <xsl:call-template name="uof:Φ╛╣µíå"/>
  7976.                     </style:graphic-properties>
  7977.                 </xsl:when>
  7978.                 <xsl:when test="name(.)='Φí¿:σí½σàà'">
  7979.                     <style:graphic-properties>
  7980.                         <xsl:call-template name="σ¢╛:σí½σààτ▒╗σ₧ï"/>
  7981.                     </style:graphic-properties>
  7982.                 </xsl:when>
  7983.                 <xsl:when test="name(.)='Φí¿:σ¡ùΣ╜ô'">
  7984.                     <style:text-properties>
  7985.                         <xsl:call-template name="σ¡ù:σÅÑσ▒₧µÇºτ▒╗σ₧ï"/>
  7986.                     </style:text-properties>
  7987.                 </xsl:when>
  7988.                 <xsl:when test="name(.)='Φí¿:µÿ╛τñ║µáçσ┐ù'">
  7989.                     <style:chart-properties>
  7990.                         <xsl:if test="@Φí¿:τ▒╗σê½σÉì">
  7991.                             <xsl:attribute name="chart:data-label-text"><xsl:value-of select="@Φí¿:τ▒╗σê½σÉì"/></xsl:attribute>
  7992.                         </xsl:if>
  7993.                         <xsl:if test="@Φí¿:µò░σÇ╝">
  7994.                             <xsl:attribute name="chart:data-label-number">value</xsl:attribute>
  7995.                         </xsl:if>
  7996.                         <xsl:if test="@Φí¿:τÖ╛σêåµò░">
  7997.                             <xsl:attribute name="chart:data-label-number">percentage</xsl:attribute>
  7998.                         </xsl:if>
  7999.                         <xsl:if test="@Φí¿:σ¢╛Σ╛ïµáçσ┐ù">
  8000.                             <xsl:attribute name="chart:data-label-symbol"><xsl:value-of select="@Φí¿:σ¢╛Σ╛ïµáçσ┐ù"/></xsl:attribute>
  8001.                         </xsl:if>
  8002.                     </style:chart-properties>
  8003.                 </xsl:when>
  8004.             </xsl:choose>
  8005.         </xsl:for-each>
  8006.     </xsl:template>
  8007.     <xsl:template name="Φí¿:µáçΘóÿτ▒╗σ₧ï">
  8008.         <xsl:param name="table-name"/>
  8009.         <xsl:param name="table-type"/>
  8010.         <xsl:param name="table-subtype"/>
  8011.         <xsl:param name="series-value-start"/>
  8012.         <xsl:param name="series-value-end"/>
  8013.         <xsl:param name="series-generate-type"/>
  8014.         <xsl:for-each select="node()">
  8015.             <xsl:choose>
  8016.                 <xsl:when test="name(.)='Φí¿:Φ╛╣µíå'">
  8017.                     <style:graphic-properties>
  8018.                         <xsl:call-template name="uof:Φ╛╣µíå"/>
  8019.                     </style:graphic-properties>
  8020.                 </xsl:when>
  8021.                 <xsl:when test="name(.)='Φí¿:σí½σàà'">
  8022.                     <style:graphic-properties>
  8023.                         <xsl:call-template name="σ¢╛:σí½σààτ▒╗σ₧ï"/>
  8024.                     </style:graphic-properties>
  8025.                 </xsl:when>
  8026.                 <xsl:when test="name(.)='Φí¿:σ»╣Θ╜É'">
  8027.                     <style:chart-properties>
  8028.                         <xsl:call-template name="Φí¿:σ»╣Θ╜ɵá╝σ╝Åτ▒╗σ₧ï"/>
  8029.                     </style:chart-properties>
  8030.                 </xsl:when>
  8031.                 <xsl:when test="name(.)='Φí¿:σ¡ùΣ╜ô'">
  8032.                     <style:text-properties>
  8033.                         <xsl:call-template name="σ¡ù:σÅÑσ▒₧µÇºτ▒╗σ₧ï"/>
  8034.                     </style:text-properties>
  8035.                 </xsl:when>
  8036.             </xsl:choose>
  8037.         </xsl:for-each>
  8038.     </xsl:template>
  8039.     <xsl:template name="uof:Φ╛╣µíå">
  8040.         <xsl:if test="@uof:τ▒╗σ₧ï">
  8041.             <xsl:variable name="type" select="@uof:τ▒╗σ₧ï"/>
  8042.             <xsl:attribute name="draw:stroke"><xsl:choose><xsl:when test="@uof:τ▒╗σ₧ï='single'">solid</xsl:when><xsl:when test="@uof:τ▒╗σ₧ï='none'">none</xsl:when><xsl:otherwise>dash</xsl:otherwise></xsl:choose></xsl:attribute>
  8043.             <xsl:attribute name="draw:stroke-dash"><xsl:choose><xsl:when test="$type='dash'">Ultrafine_20_Dashed</xsl:when><xsl:when test="$type='dot-dash'">Ultrafine_20_2_20_Dots_20_3_20_Dashes</xsl:when><xsl:when test="$type='dashed-heavy'">Fine_20_Dashed</xsl:when><xsl:when test="$type='dotted' ">Fine_20_Dotted</xsl:when><xsl:when test="$type='dash-long-heavy'">Line_20_with_20_Fine_20_Dots</xsl:when><xsl:when test="$type='dash-long'">Fine_20_Dashed_20__28_var_29_</xsl:when><xsl:when test="$type='dash-dot-dot'">_33__20_Dashes_20_3_20_Dots_20__28_var_29_</xsl:when><xsl:when test="$type='dotted-heavy'">Ultrafine_20_Dotted_20__28_var_29_</xsl:when><xsl:when test="$type='thick'">Line_20_Style_20_9</xsl:when><xsl:when test="$type='dot-dot-dash'">_32__20_Dots_20_1_20_Dash</xsl:when><xsl:when test="$type='dash-dot-dot-heavy'">Dashed_20__28_var_29_</xsl:when><xsl:when test="$type='dash-dot-heavy'">Dash_20_10</xsl:when></xsl:choose></xsl:attribute>
  8044.         </xsl:if>
  8045.         <xsl:if test="@uof:σ«╜σ║ª">
  8046.             <xsl:attribute name="svg:stroke-width"><xsl:value-of select="concat(@uof:σ«╜σ║ª,$uofUnit)"/></xsl:attribute>
  8047.         </xsl:if>
  8048.         <xsl:if test="@uof:Θó£Φë▓">
  8049.             <xsl:attribute name="svg:stroke-color"><xsl:value-of select="@uof:Θó£Φë▓"/></xsl:attribute>
  8050.         </xsl:if>
  8051.     </xsl:template>
  8052.     <xsl:template name="σ¢╛:σí½σààτ▒╗σ₧ï">
  8053.         <xsl:if test="σ¢╛:Θó£Φë▓">
  8054.             <xsl:attribute name="draw:fill">solid</xsl:attribute>
  8055.             <xsl:attribute name="draw:fill-color"><xsl:value-of select="σ¢╛:Θó£Φë▓"/></xsl:attribute>
  8056.         </xsl:if>
  8057.         <xsl:if test="σ¢╛:σ¢╛τëç">
  8058.             <xsl:attribute name="draw:fill">bitmap</xsl:attribute>
  8059.             <xsl:attribute name="draw:fill-image-name"><xsl:value-of select="σ¢╛:σ¢╛τëç/@σ¢╛:σÉìτº░"/></xsl:attribute>
  8060.             <xsl:if test="not(σ¢╛:σ¢╛τëç/@σ¢╛:Σ╜ìτ╜«='tile')">
  8061.                 <xsl:attribute name="style:repeat"><xsl:choose><xsl:when test="σ¢╛:σ¢╛τëç/@σ¢╛:Σ╜ìτ╜«='center'">no-repeat</xsl:when><xsl:when test="σ¢╛:σ¢╛τëç/@σ¢╛:Σ╜ìτ╜«='stretch'">stretch</xsl:when></xsl:choose></xsl:attribute>
  8062.             </xsl:if>
  8063.         </xsl:if>
  8064.         <xsl:if test="σ¢╛:σ¢╛µíê">
  8065.             <xsl:attribute name="draw:fill">bitmap</xsl:attribute>
  8066.             <xsl:attribute name="draw:fill-hatch-name"><xsl:value-of select="σ¢╛:σ¢╛µíê/@σ¢╛:σ¢╛σ╜óσ╝òτö¿"/></xsl:attribute>
  8067.         </xsl:if>
  8068.         <xsl:if test="σ¢╛:µ╕ÉσÅÿ">
  8069.             <xsl:attribute name="draw:fill">gradient</xsl:attribute>
  8070.             <xsl:attribute name="draw:fill-gradient-name"><xsl:value-of select="σ¢╛:µ╕ÉσÅÿ/@σ¢╛:σ¢╛σ╜óσ╝òτö¿"/></xsl:attribute>
  8071.         </xsl:if>
  8072.     </xsl:template>
  8073.     <xsl:template name="uof:τ║┐σ₧ï">
  8074.         <xsl:call-template name="uof:Φ╛╣µíå"/>
  8075.     </xsl:template>
  8076.     <xsl:template name="σ¡ù:σÅÑσ▒₧µÇºτ▒╗σ₧ï">
  8077.         <xsl:apply-templates select="./*"/>
  8078.     </xsl:template>
  8079.     <xsl:template name="Φí¿:σê╗σ║ªτ▒╗σ₧ï">
  8080.         <xsl:if test="Φí¿:µ£Çσ░ÅσÇ╝">
  8081.             <xsl:attribute name="chart:minimum"><xsl:value-of select="Φí¿:µ£Çσ░ÅσÇ╝"/></xsl:attribute>
  8082.         </xsl:if>
  8083.         <xsl:if test="Φí¿:µ£ÇσñºσÇ╝">
  8084.             <xsl:attribute name="chart:maximum"><xsl:value-of select="Φí¿:µ£ÇσñºσÇ╝"/></xsl:attribute>
  8085.         </xsl:if>
  8086.         <xsl:if test="Φí¿:Σ╕╗σìòΣ╜ì">
  8087.             <xsl:attribute name="chart:interval-major"><xsl:value-of select="Φí¿:Σ╕╗σìòΣ╜ì"/></xsl:attribute>
  8088.         </xsl:if>
  8089.         <xsl:if test="Φí¿:µ¼íσìòΣ╜ì">
  8090.             <xsl:attribute name="chart:interval-minor"><xsl:value-of select="Φí¿:µ¼íσìòΣ╜ì"/></xsl:attribute>
  8091.         </xsl:if>
  8092.         <xsl:if test="Φí¿:σêåτ▒╗Σ║ñσÅëτé╣">
  8093.             <xsl:attribute name="chart:origin"><xsl:value-of select="Φí¿:σêåτ▒╗Σ║ñσÅëτé╣"/></xsl:attribute>
  8094.         </xsl:if>
  8095.     </xsl:template>
  8096.     <xsl:template name="Φí¿:σ»╣Θ╜ɵá╝σ╝Åτ▒╗σ₧ï">
  8097.         <xsl:if test="Φí¿:µûçσ¡ùµû╣σÉæ">
  8098.             <xsl:attribute name="style:direction"><xsl:value-of select="Φí¿:µûçσ¡ùµû╣σÉæ"/></xsl:attribute>
  8099.         </xsl:if>
  8100.         <xsl:if test="Φí¿:µûçσ¡ùµùïΦ╜¼ΦºÆσ║ª">
  8101.             <xsl:attribute name="style:rotation-angle"><xsl:value-of select="Φí¿:µûçσ¡ùµùïΦ╜¼ΦºÆσ║ª"/></xsl:attribute>
  8102.         </xsl:if>
  8103.     </xsl:template>
  8104.     <xsl:template match="σ¡ù:σ¡ùΣ╜ô">
  8105.         <xsl:if test="@σ¡ù:σ¡ùσÅ╖">
  8106.             <xsl:attribute name="fo:font-size"><xsl:value-of select="@σ¡ù:σ¡ùσÅ╖"/>pt</xsl:attribute>
  8107.             <xsl:attribute name="style:font-size-asian"><xsl:value-of select="@σ¡ù:σ¡ùσÅ╖"/>pt</xsl:attribute>
  8108.             <xsl:attribute name="style:font-size-complex"><xsl:value-of select="@σ¡ù:σ¡ùσÅ╖"/>pt</xsl:attribute>
  8109.         </xsl:if>
  8110.         <xsl:if test="@σ¡ù:τ¢╕σ»╣σ¡ùσÅ╖ and self::node( )[not(parent::σ¡ù:σÅÑσ▒₧µÇº)]">
  8111.             <xsl:variable name="stylename" select="parent::node()/@σ¡ù:σƒ║σ╝ŵá╖σ╝òτö¿"/>
  8112.             <xsl:variable name="zihao">
  8113.                 <xsl:for-each select="/uof:UOF/uof:σ╝ŵá╖Θ¢å//uof:µ«╡ΦÉ╜σ╝ŵá╖[@σ¡ù:µáçΦ»åτ¼ª=$stylename]">
  8114.                     <xsl:value-of select="σ¡ù:σ¡ùΣ╜ô/@σ¡ù:σ¡ùσÅ╖"/>
  8115.                 </xsl:for-each>
  8116.             </xsl:variable>
  8117.             <xsl:variable name="font-size" select="@σ¡ù:τ¢╕σ»╣σ¡ùσÅ╖"/>
  8118.             <xsl:attribute name="fo:font-size"><xsl:value-of select="($zihao * $font-size div 100)"/>pt</xsl:attribute>
  8119.             <xsl:attribute name="style:font-size-asian"><xsl:value-of select="($zihao * $font-size div 100)"/>pt</xsl:attribute>
  8120.             <xsl:attribute name="style:font-size-complex"><xsl:value-of select="($zihao * $font-size div 100)"/>pt</xsl:attribute>
  8121.         </xsl:if>
  8122.         <xsl:if test="@σ¡ù:Θó£Φë▓">
  8123.             <xsl:attribute name="fo:color"><xsl:value-of select="string(@σ¡ù:Θó£Φë▓)"/></xsl:attribute>
  8124.         </xsl:if>
  8125.         <xsl:if test="@σ¡ù:Σ╕¡µûçσ¡ùΣ╜ôσ╝òτö¿">
  8126.             <xsl:attribute name="style:font-family-asian"><xsl:value-of select="@σ¡ù:Σ╕¡µûçσ¡ùΣ╜ôσ╝òτö¿"/></xsl:attribute>
  8127.         </xsl:if>
  8128.         <xsl:if test="@σ¡ù:ΦÑ┐µûçσ¡ùΣ╜ôσ╝òτö¿">
  8129.             <xsl:attribute name="fo:font-family"><xsl:value-of select="@σ¡ù:ΦÑ┐µûçσ¡ùΣ╜ôσ╝òτö¿"/></xsl:attribute>
  8130.         </xsl:if>
  8131.     </xsl:template>
  8132.     <xsl:template match="σ¡ù:µû£Σ╜ô">
  8133.         <xsl:if test="@σ¡ù:σÇ╝='true'">
  8134.             <xsl:attribute name="fo:font-style">italic</xsl:attribute>
  8135.             <xsl:attribute name="fo:font-style-asian">italic</xsl:attribute>
  8136.             <xsl:attribute name="style:font-style-asian">italic</xsl:attribute>
  8137.             <xsl:attribute name="style:font-style-complex">italic</xsl:attribute>
  8138.         </xsl:if>
  8139.     </xsl:template>
  8140.     <xsl:template match="σ¡ù:τ▓ùΣ╜ô">
  8141.         <xsl:if test="@σ¡ù:σÇ╝='true'">
  8142.             <xsl:attribute name="fo:font-weight">bold</xsl:attribute>
  8143.             <xsl:attribute name="style:font-weight-asian">bold</xsl:attribute>
  8144.             <xsl:attribute name="style:font-weight-complex">bold</xsl:attribute>
  8145.         </xsl:if>
  8146.     </xsl:template>
  8147.     <xsl:template match="σ¡ù:Σ╕ïσêÆτ║┐">
  8148.         <xsl:choose>
  8149.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'single'">
  8150.                 <xsl:attribute name="style:text-underline-style">solid</xsl:attribute>
  8151.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8152.             </xsl:when>
  8153.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'double'">
  8154.                 <xsl:attribute name="style:text-underline-style">solid</xsl:attribute>
  8155.                 <xsl:attribute name="style:text-underline-type">double</xsl:attribute>
  8156.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8157.             </xsl:when>
  8158.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'thick'">
  8159.                 <xsl:attribute name="style:text-underline-style">solid</xsl:attribute>
  8160.                 <xsl:attribute name="style:text-underline-width">bold</xsl:attribute>
  8161.             </xsl:when>
  8162.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dotted'">
  8163.                 <xsl:attribute name="style:text-underline-style">dotted</xsl:attribute>
  8164.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8165.             </xsl:when>
  8166.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dotted-heavy'">
  8167.                 <xsl:attribute name="style:text-underline-style">dotted</xsl:attribute>
  8168.                 <xsl:attribute name="style:text-underline-width">bold</xsl:attribute>
  8169.             </xsl:when>
  8170.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dash'">
  8171.                 <xsl:attribute name="style:text-underline-style">dash</xsl:attribute>
  8172.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8173.             </xsl:when>
  8174.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dashed-heavy'">
  8175.                 <xsl:attribute name="style:text-underline-style">dash</xsl:attribute>
  8176.                 <xsl:attribute name="style:text-underline-width">bold</xsl:attribute>
  8177.             </xsl:when>
  8178.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dash-long'">
  8179.                 <xsl:attribute name="style:text-underline-style">long-dash</xsl:attribute>
  8180.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8181.             </xsl:when>
  8182.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dash-long-heavy'">
  8183.                 <xsl:attribute name="style:text-underline-style">long-dash</xsl:attribute>
  8184.                 <xsl:attribute name="style:text-underline-width">bold</xsl:attribute>
  8185.             </xsl:when>
  8186.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dot-dash'">
  8187.                 <xsl:attribute name="style:text-underline-style">dot-dash</xsl:attribute>
  8188.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8189.             </xsl:when>
  8190.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dash-dot-heavy'">
  8191.                 <xsl:attribute name="style:text-underline-style">dot-dash</xsl:attribute>
  8192.                 <xsl:attribute name="style:text-underline-width">bold</xsl:attribute>
  8193.             </xsl:when>
  8194.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dot-dot-dash'">
  8195.                 <xsl:attribute name="style:text-underline-style">dot-dot-dash</xsl:attribute>
  8196.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8197.             </xsl:when>
  8198.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'dash-dot-dot-heavy'">
  8199.                 <xsl:attribute name="style:text-underline-style">dot-dot-dash</xsl:attribute>
  8200.                 <xsl:attribute name="style:text-underline-width">bold</xsl:attribute>
  8201.             </xsl:when>
  8202.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'wave'">
  8203.                 <xsl:attribute name="style:text-underline-style">wave</xsl:attribute>
  8204.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8205.             </xsl:when>
  8206.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'wavy-heavy'">
  8207.                 <xsl:attribute name="style:text-underline-style">wave</xsl:attribute>
  8208.                 <xsl:attribute name="style:text-underline-width">bold</xsl:attribute>
  8209.             </xsl:when>
  8210.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï = 'wavy-double'">
  8211.                 <xsl:attribute name="style:text-underline-style">wave</xsl:attribute>
  8212.                 <xsl:attribute name="style:text-underline-type">double</xsl:attribute>
  8213.                 <xsl:attribute name="style:text-underline-width">auto</xsl:attribute>
  8214.             </xsl:when>
  8215.             <xsl:otherwise/>
  8216.         </xsl:choose>
  8217.         <xsl:choose>
  8218.             <xsl:when test="@σ¡ù:Θó£Φë▓">
  8219.                 <xsl:attribute name="style:text-underline-color"><xsl:choose><xsl:when test="@σ¡ù:Θó£Φë▓='auto'">font-color</xsl:when><xsl:otherwise><xsl:value-of select="@σ¡ù:Θó£Φë▓"/></xsl:otherwise></xsl:choose></xsl:attribute>
  8220.             </xsl:when>
  8221.             <xsl:otherwise>
  8222.                 <xsl:attribute name="style:text-underline-color">font-color</xsl:attribute>
  8223.             </xsl:otherwise>
  8224.         </xsl:choose>
  8225.     </xsl:template>
  8226.     <xsl:template match="σ¡ù:τ¥ÇΘçìσÅ╖">
  8227.         <xsl:if test="not(@σ¡ù:τ▒╗σ₧ï='none')">
  8228.             <xsl:choose>
  8229.                 <xsl:when test="@σ¡ù:τ▒╗σ₧ï='accent above' ">
  8230.                     <xsl:attribute name="style:text-emphasize">accent above</xsl:attribute>
  8231.                 </xsl:when>
  8232.                 <xsl:when test="@σ¡ù:τ▒╗σ₧ï='dot above' ">
  8233.                     <xsl:attribute name="style:text-emphasize">dot above</xsl:attribute>
  8234.                 </xsl:when>
  8235.                 <xsl:when test="@σ¡ù:τ▒╗σ₧ï='disc above' ">
  8236.                     <xsl:attribute name="style:text-emphasize">disc above</xsl:attribute>
  8237.                 </xsl:when>
  8238.                 <xsl:when test="@σ¡ù:τ▒╗σ₧ï='circle above' ">
  8239.                     <xsl:attribute name="style:text-emphasize">circle above</xsl:attribute>
  8240.                 </xsl:when>
  8241.                 <xsl:when test="@σ¡ù:τ▒╗σ₧ï='accent below' ">
  8242.                     <xsl:attribute name="style:text-emphasize">accent below</xsl:attribute>
  8243.                 </xsl:when>
  8244.                 <xsl:when test="@σ¡ù:τ▒╗σ₧ï='dot below' ">
  8245.                     <xsl:attribute name="style:text-emphasize">dot below</xsl:attribute>
  8246.                 </xsl:when>
  8247.                 <xsl:when test="@σ¡ù:τ▒╗σ₧ï='disc below' ">
  8248.                     <xsl:attribute name="style:text-emphasize">disc below</xsl:attribute>
  8249.                 </xsl:when>
  8250.                 <xsl:when test="@σ¡ù:τ▒╗σ₧ï='circle below' ">
  8251.                     <xsl:attribute name="style:text-emphasize">circle below</xsl:attribute>
  8252.                 </xsl:when>
  8253.             </xsl:choose>
  8254.         </xsl:if>
  8255.         <xsl:if test="σ¡ù:Θó£Φë▓">
  8256.             <xsl:attribute name="fo:color"><xsl:value-of select="@σ¡ù:Θó£Φë▓"/></xsl:attribute>
  8257.         </xsl:if>
  8258.     </xsl:template>
  8259.     <xsl:template match="σ¡ù:ΘÜÉΦùŵûçσ¡ù">
  8260.         <xsl:attribute name="text:display"><xsl:value-of select="@σ¡ù:σÇ╝"/></xsl:attribute>
  8261.     </xsl:template>
  8262.     <xsl:template match="σ¡ù:τ⌐║σ┐â">
  8263.         <xsl:attribute name="style:text-outline"><xsl:value-of select="@σ¡ù:σÇ╝"/></xsl:attribute>
  8264.     </xsl:template>
  8265.     <xsl:template match="σ¡ù:Θÿ┤σ╜▒">
  8266.         <xsl:if test="not(@σ¡ù:σÇ╝='false')">
  8267.             <xsl:attribute name="fo:text-shadow">1pt 1pt</xsl:attribute>
  8268.         </xsl:if>
  8269.     </xsl:template>
  8270.     <xsl:template match="σ¡ù:σêáΘÖñτ║┐">
  8271.         <xsl:attribute name="style:text-line-through-style">solid</xsl:attribute>
  8272.         <xsl:choose>
  8273.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï='double'">
  8274.                 <xsl:attribute name="style:text-line-through-type">double</xsl:attribute>
  8275.             </xsl:when>
  8276.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï='single'">
  8277.                 <xsl:attribute name="style:text-underline-mode">continuous</xsl:attribute>
  8278.                 <xsl:attribute name="style:text-line-through-mode">continuous</xsl:attribute>
  8279.             </xsl:when>
  8280.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï='bold'">
  8281.                 <xsl:attribute name="style:text-line-through-width">bold</xsl:attribute>
  8282.             </xsl:when>
  8283.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï='σ╕ª/'">
  8284.                 <xsl:attribute name="style:text-line-through-text">/</xsl:attribute>
  8285.             </xsl:when>
  8286.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï='σ╕ªX'">
  8287.                 <xsl:attribute name="style:text-line-through-text">X</xsl:attribute>
  8288.             </xsl:when>
  8289.             <xsl:otherwise/>
  8290.         </xsl:choose>
  8291.     </xsl:template>
  8292.     <xsl:template match="@σ¡ù:Θó£Φë▓[not(.='auto')]">
  8293.         <xsl:attribute name="fo:color">#<xsl:value-of select="."/></xsl:attribute>
  8294.     </xsl:template>
  8295.     <xsl:template match="σ¡ù:µ╡«Θ¢ò">
  8296.         <xsl:attribute name="style:font-relief"><xsl:choose><xsl:when test="@σ¡ù:τ▒╗σ₧ï='engrave'">engraved</xsl:when><xsl:when test="@σ¡ù:τ▒╗σ₧ï='emboss'">embossed</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute>
  8297.     </xsl:template>
  8298.     <xsl:template match="σ¡ù:ΘåÆτ¢«σ¡ùΣ╜ô">
  8299.         <xsl:choose>
  8300.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï='small-caps'">
  8301.                 <xsl:attribute name="fo:font-variant">small-caps</xsl:attribute>
  8302.             </xsl:when>
  8303.             <xsl:when test="@σ¡ù:τ▒╗σ₧ï='none'">
  8304.                 <xsl:attribute name="fo:font-variant">normal</xsl:attribute>
  8305.                 <xsl:attribute name="fo:text-transform">none</xsl:attribute>
  8306.             </xsl:when>
  8307.             <xsl:otherwise>
  8308.                 <xsl:attribute name="fo:text-transform"><xsl:choose><xsl:when test="@σ¡ù:τ▒╗σ₧ï='uppercase'">uppercase</xsl:when><xsl:when test="@σ¡ù:τ▒╗σ₧ï='lowercase'">lowercase</xsl:when><xsl:when test="@σ¡ù:τ▒╗σ₧ï='capital'">capitalize</xsl:when></xsl:choose></xsl:attribute>
  8309.             </xsl:otherwise>
  8310.         </xsl:choose>
  8311.     </xsl:template>
  8312.     <xsl:template match="σ¡ù:Σ╜ìτ╜«">
  8313.         <xsl:attribute name="style:text-position"><xsl:value-of select="."/></xsl:attribute>
  8314.     </xsl:template>
  8315.     <xsl:template match="σ¡ù:τ╝⌐µö╛">
  8316.         <xsl:attribute name="style:text-scale"><xsl:value-of select="."/></xsl:attribute>
  8317.     </xsl:template>
  8318.     <xsl:template match="σ¡ù:σ¡ùτ¼ªΘù┤Φ╖¥">
  8319.         <xsl:attribute name="fo:letter-spacing"><xsl:value-of select="."/></xsl:attribute>
  8320.     </xsl:template>
  8321.     <xsl:template match="σ¡ù:Φ░âµò┤σ¡ùΘù┤Φ╖¥">
  8322.         <xsl:attribute name="style:letter-kerning"><xsl:value-of select="."/></xsl:attribute>
  8323.     </xsl:template>
  8324.     <xsl:template match="σ¡ù:σñûµíå">
  8325.         <xsl:attribute name="style:text-outline">true</xsl:attribute>
  8326.     </xsl:template>
  8327.     <xsl:template match="σ¡ù:τ╝⌐µö╛">
  8328.         <xsl:attribute name="style:text-scale"><xsl:value-of select="."/></xsl:attribute>
  8329.     </xsl:template>
  8330.     <xsl:template match="σ¡ù:σ¡ùτ¼ªΘù┤Φ╖¥[parent::σ¡ù:σÅÑσ▒₧µÇº]">
  8331.         <xsl:attribute name="fo:letter-spacing"><xsl:value-of select="concat( number(.)* $other-to-cm-conversion-factor, $uofUnit)"/></xsl:attribute>
  8332.     </xsl:template>
  8333.     <xsl:template name="General-Char-Transition">
  8334.         <xsl:param name="input-char"/>
  8335.         <xsl:param name="output-type"/>
  8336.         <xsl:choose>
  8337.             <xsl:when test="$input-char='A' or $input-char='a' or $input-char='1' or $input-char='Roman_I' or $input-char='Roman_i' or $input-char='Σ╕Ç' or $input-char='σú╣' or $input-char='τö▓' or $input-char='σ¡É'">
  8338.                 <xsl:choose>
  8339.                     <xsl:when test="$output-type='ARABIC'">1</xsl:when>
  8340.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">a</xsl:when>
  8341.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">A</xsl:when>
  8342.                     <xsl:when test="$output-type='ROMAN_UPPER'">I</xsl:when>
  8343.                     <xsl:when test="$output-type='ROMAN_LOWER'">i</xsl:when>
  8344.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">1</xsl:when>
  8345.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ╕Ç</xsl:when>
  8346.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">1</xsl:when>
  8347.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">σú╣</xsl:when>
  8348.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">1</xsl:when>
  8349.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">τö▓</xsl:when>
  8350.                     <xsl:when test="$output-type='DI_ZI_ZH'">σ¡É</xsl:when>
  8351.                     <xsl:otherwise>1</xsl:otherwise>
  8352.                 </xsl:choose>
  8353.             </xsl:when>
  8354.             <xsl:when test="$input-char='B' or $input-char='b' or $input-char='2' or $input-char='Roman_II' or $input-char='Roman_ii' or $input-char='Σ║î' or $input-char='Φ┤░' or $input-char='Σ╣Ö' or $input-char='Σ╕æ'">
  8355.                 <xsl:choose>
  8356.                     <xsl:when test="$output-type='ARABIC'">2</xsl:when>
  8357.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">b</xsl:when>
  8358.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">B</xsl:when>
  8359.                     <xsl:when test="$output-type='ROMAN_UPPER'">II</xsl:when>
  8360.                     <xsl:when test="$output-type='ROMAN_LOWER'">ii</xsl:when>
  8361.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">∩╝Æ</xsl:when>
  8362.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║î</xsl:when>
  8363.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">2</xsl:when>
  8364.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φ┤░</xsl:when>
  8365.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">2</xsl:when>
  8366.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">Σ╣Ö</xsl:when>
  8367.                     <xsl:when test="$output-type='DI_ZI_ZH'">Σ╕æ</xsl:when>
  8368.                     <xsl:otherwise>2</xsl:otherwise>
  8369.                 </xsl:choose>
  8370.             </xsl:when>
  8371.             <xsl:when test="$input-char='C' or $input-char='c' or $input-char='3' or $input-char='Roman_III' or $input-char='Roman_iii' or $input-char='Σ╕ë' or $input-char='σÅü' or $input-char='Σ╕Ö' or $input-char='σ»à'">
  8372.                 <xsl:choose>
  8373.                     <xsl:when test="$output-type='ARABIC'">3</xsl:when>
  8374.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">c</xsl:when>
  8375.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">C</xsl:when>
  8376.                     <xsl:when test="$output-type='ROMAN_UPPER'">III</xsl:when>
  8377.                     <xsl:when test="$output-type='ROMAN_LOWER'">iii</xsl:when>
  8378.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">∩╝ô</xsl:when>
  8379.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ╕ë</xsl:when>
  8380.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">∩╝ô</xsl:when>
  8381.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">σÅü</xsl:when>
  8382.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">∩╝ô</xsl:when>
  8383.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">Σ╕Ö</xsl:when>
  8384.                     <xsl:when test="$output-type='DI_ZI_ZH'">σ»à</xsl:when>
  8385.                     <xsl:otherwise>3</xsl:otherwise>
  8386.                 </xsl:choose>
  8387.             </xsl:when>
  8388.             <xsl:when test="$input-char='D' or $input-char='d' or $input-char='4' or $input-char='Roman_IV' or $input-char='Roman_iv' or $input-char='σ¢¢' or $input-char='Φéå' or $input-char='Σ╕ü' or $input-char='σì»'">
  8389.                 <xsl:choose>
  8390.                     <xsl:when test="$output-type='ARABIC'">4</xsl:when>
  8391.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">d</xsl:when>
  8392.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">D</xsl:when>
  8393.                     <xsl:when test="$output-type='ROMAN_UPPER'">IV</xsl:when>
  8394.                     <xsl:when test="$output-type='ROMAN_LOWER'">iv</xsl:when>
  8395.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">∩╝ö</xsl:when>
  8396.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σ¢¢</xsl:when>
  8397.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">4</xsl:when>
  8398.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φéå</xsl:when>
  8399.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">4</xsl:when>
  8400.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">Σ╕ü</xsl:when>
  8401.                     <xsl:when test="$output-type='DI_ZI_ZH'">σì»</xsl:when>
  8402.                     <xsl:otherwise>4</xsl:otherwise>
  8403.                 </xsl:choose>
  8404.             </xsl:when>
  8405.             <xsl:when test="$input-char='E' or $input-char='e' or $input-char='5' or $input-char='Roman_V' or $input-char='Roman_v' or $input-char='Σ║ö' or $input-char='Σ╝ì' or $input-char='µêè' or $input-char='Φ╛░'">
  8406.                 <xsl:choose>
  8407.                     <xsl:when test="$output-type='ARABIC'">5</xsl:when>
  8408.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">e</xsl:when>
  8409.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">E</xsl:when>
  8410.                     <xsl:when test="$output-type='ROMAN_UPPER'">V</xsl:when>
  8411.                     <xsl:when test="$output-type='ROMAN_LOWER'">v</xsl:when>
  8412.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">5</xsl:when>
  8413.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║ö</xsl:when>
  8414.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">5</xsl:when>
  8415.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Σ╝ì</xsl:when>
  8416.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">5</xsl:when>
  8417.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">µêè</xsl:when>
  8418.                     <xsl:when test="$output-type='DI_ZI_ZH'">Φ╛░</xsl:when>
  8419.                     <xsl:otherwise>5</xsl:otherwise>
  8420.                 </xsl:choose>
  8421.             </xsl:when>
  8422.             <xsl:when test="$input-char='F' or $input-char='f' or $input-char='6' or $input-char='Roman_VI' or $input-char='Roman_vi' or $input-char='σà¡' or $input-char='ΘÖå' or $input-char='σ╖▒' or $input-char='σ╖│'">
  8423.                 <xsl:choose>
  8424.                     <xsl:when test="$output-type='ARABIC'">6</xsl:when>
  8425.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">f</xsl:when>
  8426.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">F</xsl:when>
  8427.                     <xsl:when test="$output-type='ROMAN_UPPER'">VI</xsl:when>
  8428.                     <xsl:when test="$output-type='ROMAN_LOWER'">vi</xsl:when>
  8429.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">∩╝û</xsl:when>
  8430.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σà¡</xsl:when>
  8431.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">∩╝û</xsl:when>
  8432.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">ΘÖå</xsl:when>
  8433.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">∩╝û</xsl:when>
  8434.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">σ╖▒</xsl:when>
  8435.                     <xsl:when test="$output-type='DI_ZI_ZH'">σ╖│</xsl:when>
  8436.                     <xsl:otherwise>6</xsl:otherwise>
  8437.                 </xsl:choose>
  8438.             </xsl:when>
  8439.             <xsl:when test="$input-char='G' or $input-char='g' or $input-char='7' or $input-char='∩╝ù' or $input-char='Roman_VII' or $input-char='Roman_vii' or $input-char='Σ╕â' or $input-char='µƒÆ' or $input-char='σ║Ü' or $input-char='σìê'">
  8440.                 <xsl:choose>
  8441.                     <xsl:when test="$output-type='ARABIC'">7</xsl:when>
  8442.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">g</xsl:when>
  8443.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">G</xsl:when>
  8444.                     <xsl:when test="$output-type='ROMAN_UPPER'">VII</xsl:when>
  8445.                     <xsl:when test="$output-type='ROMAN_LOWER'">vii</xsl:when>
  8446.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">∩╝ù</xsl:when>
  8447.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ╕â</xsl:when>
  8448.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">7</xsl:when>
  8449.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µƒÆ</xsl:when>
  8450.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">7</xsl:when>
  8451.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">σ║Ü</xsl:when>
  8452.                     <xsl:when test="$output-type='DI_ZI_ZH'">σìê</xsl:when>
  8453.                     <xsl:otherwise>7</xsl:otherwise>
  8454.                 </xsl:choose>
  8455.             </xsl:when>
  8456.             <xsl:when test="$input-char='H' or $input-char='h' or $input-char='8' or $input-char='Roman_VIII' or $input-char='Roman_viii' or $input-char='σà½' or $input-char='µìî' or $input-char='Φ╛¢' or $input-char='µ£¬'">
  8457.                 <xsl:choose>
  8458.                     <xsl:when test="$output-type='ARABIC'">8</xsl:when>
  8459.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">h</xsl:when>
  8460.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">H</xsl:when>
  8461.                     <xsl:when test="$output-type='ROMAN_UPPER'">VIII</xsl:when>
  8462.                     <xsl:when test="$output-type='ROMAN_LOWER'">viii</xsl:when>
  8463.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">∩╝ÿ</xsl:when>
  8464.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σà½</xsl:when>
  8465.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">8</xsl:when>
  8466.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µìî</xsl:when>
  8467.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">8</xsl:when>
  8468.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">Φ╛¢</xsl:when>
  8469.                     <xsl:when test="$output-type='DI_ZI_ZH'">µ£¬</xsl:when>
  8470.                     <xsl:otherwise>8</xsl:otherwise>
  8471.                 </xsl:choose>
  8472.             </xsl:when>
  8473.             <xsl:when test="$input-char='I' or $input-char='i' or $input-char='9' or $input-char='Roman_IX' or $input-char='Roman_ix' or $input-char='Σ╣¥' or $input-char='τÄû' or $input-char='σú¼' or $input-char='τö│'">
  8474.                 <xsl:choose>
  8475.                     <xsl:when test="$output-type='ARABIC'">9</xsl:when>
  8476.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">i</xsl:when>
  8477.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">I</xsl:when>
  8478.                     <xsl:when test="$output-type='ROMAN_UPPER'">IX</xsl:when>
  8479.                     <xsl:when test="$output-type='ROMAN_LOWER'">ix</xsl:when>
  8480.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">∩╝Ö</xsl:when>
  8481.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ╣¥</xsl:when>
  8482.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">∩╝Ö</xsl:when>
  8483.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">τÄû</xsl:when>
  8484.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">∩╝Ö</xsl:when>
  8485.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">σú¼</xsl:when>
  8486.                     <xsl:when test="$output-type='DI_ZI_ZH'">τö│</xsl:when>
  8487.                     <xsl:otherwise>9</xsl:otherwise>
  8488.                 </xsl:choose>
  8489.             </xsl:when>
  8490.             <xsl:when test="$input-char='J' or $input-char='j' or $input-char='10' or $input-char='Roman_X' or $input-char='Roman_x' or $input-char='σìü' or $input-char='µï╛' or $input-char='τÖ╕' or $input-char='Θàë'">
  8491.                 <xsl:choose>
  8492.                     <xsl:when test="$output-type='ARABIC'">10</xsl:when>
  8493.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">j</xsl:when>
  8494.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">J</xsl:when>
  8495.                     <xsl:when test="$output-type='ROMAN_UPPER'">X</xsl:when>
  8496.                     <xsl:when test="$output-type='ROMAN_LOWER'">x</xsl:when>
  8497.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">10</xsl:when>
  8498.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìü</xsl:when>
  8499.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">10</xsl:when>
  8500.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛</xsl:when>
  8501.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">10</xsl:when>
  8502.                     <xsl:when test="$output-type='TIAN_GAN_ZH'">τÖ╕</xsl:when>
  8503.                     <xsl:when test="$output-type='DI_ZI_ZH'">Θàë</xsl:when>
  8504.                     <xsl:otherwise>10</xsl:otherwise>
  8505.                 </xsl:choose>
  8506.             </xsl:when>
  8507.             <xsl:when test="$input-char='K' or $input-char='k' or $input-char='11' or $input-char='Roman_XI' or $input-char='Roman_xi' or $input-char='σìüΣ╕Ç' or $input-char='µï╛σú╣' or $input-char='µêî'">
  8508.                 <xsl:choose>
  8509.                     <xsl:when test="$output-type='ARABIC'">11</xsl:when>
  8510.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">k</xsl:when>
  8511.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">K</xsl:when>
  8512.                     <xsl:when test="$output-type='ROMAN_UPPER'">XI</xsl:when>
  8513.                     <xsl:when test="$output-type='ROMAN_LOWER'">xi</xsl:when>
  8514.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">∩╝æ∩╝æ</xsl:when>
  8515.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüΣ╕Ç</xsl:when>
  8516.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">11</xsl:when>
  8517.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛σú╣</xsl:when>
  8518.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">11</xsl:when>
  8519.                     <xsl:when test="$output-type='DI_ZI_ZH'">µêî</xsl:when>
  8520.                     <xsl:otherwise>11</xsl:otherwise>
  8521.                 </xsl:choose>
  8522.             </xsl:when>
  8523.             <xsl:when test="$input-char='L' or $input-char='l' or $input-char='12' or $input-char='Roman_XII' or $input-char='Roman_xii' or $input-char='σìüΣ║î' or $input-char='µï╛Φ┤░' or $input-char='Σ║Ñ'">
  8524.                 <xsl:choose>
  8525.                     <xsl:when test="$output-type='ARABIC'">12</xsl:when>
  8526.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">l</xsl:when>
  8527.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">L</xsl:when>
  8528.                     <xsl:when test="$output-type='ROMAN_UPPER'">XII</xsl:when>
  8529.                     <xsl:when test="$output-type='ROMAN_LOWER'">xii</xsl:when>
  8530.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">12</xsl:when>
  8531.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüΣ║î</xsl:when>
  8532.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">12</xsl:when>
  8533.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛Φ┤░</xsl:when>
  8534.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">12</xsl:when>
  8535.                     <xsl:when test="$output-type='DI_ZI_ZH'">Σ║Ñ</xsl:when>
  8536.                     <xsl:otherwise>12</xsl:otherwise>
  8537.                 </xsl:choose>
  8538.             </xsl:when>
  8539.             <xsl:when test="$input-char='M' or $input-char='m' or $input-char='13' or $input-char='Roman_XIII' or $input-char='Roman_xiii' or $input-char='σìüΣ╕ë' or $input-char='µï╛σÅü'">
  8540.                 <xsl:choose>
  8541.                     <xsl:when test="$output-type='ARABIC'">13</xsl:when>
  8542.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">m</xsl:when>
  8543.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">M</xsl:when>
  8544.                     <xsl:when test="$output-type='ROMAN_UPPER'">XIII</xsl:when>
  8545.                     <xsl:when test="$output-type='ROMAN_LOWER'">xiii</xsl:when>
  8546.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">13</xsl:when>
  8547.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüΣ╕ë</xsl:when>
  8548.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">13</xsl:when>
  8549.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛σÅü</xsl:when>
  8550.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">13</xsl:when>
  8551.                     <xsl:otherwise>13</xsl:otherwise>
  8552.                 </xsl:choose>
  8553.             </xsl:when>
  8554.             <xsl:when test="$input-char='N' or $input-char='n' or $input-char='14' or $input-char='Roman_XIV' or $input-char='Roman_xiv' or $input-char='σìüσ¢¢' or $input-char='µï╛Φéå'">
  8555.                 <xsl:choose>
  8556.                     <xsl:when test="$output-type='ARABIC'">14</xsl:when>
  8557.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">n</xsl:when>
  8558.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">N</xsl:when>
  8559.                     <xsl:when test="$output-type='ROMAN_UPPER'">XIV</xsl:when>
  8560.                     <xsl:when test="$output-type='ROMAN_LOWER'">xiv</xsl:when>
  8561.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">14</xsl:when>
  8562.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüσ¢¢</xsl:when>
  8563.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">14</xsl:when>
  8564.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛Φéå</xsl:when>
  8565.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">14</xsl:when>
  8566.                     <xsl:otherwise>14</xsl:otherwise>
  8567.                 </xsl:choose>
  8568.             </xsl:when>
  8569.             <xsl:when test="$input-char='O' or $input-char='o' or $input-char='15' or $input-char='Roman_XV' or $input-char='Roman_xv' or $input-char='σìüΣ║ö' or $input-char='µï╛Σ╝ì'">
  8570.                 <xsl:choose>
  8571.                     <xsl:when test="$output-type='ARABIC'">15</xsl:when>
  8572.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">o</xsl:when>
  8573.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">O</xsl:when>
  8574.                     <xsl:when test="$output-type='ROMAN_UPPER'">XV</xsl:when>
  8575.                     <xsl:when test="$output-type='ROMAN_LOWER'">xv</xsl:when>
  8576.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">15</xsl:when>
  8577.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüΣ║ö</xsl:when>
  8578.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">15</xsl:when>
  8579.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛Σ╝ì</xsl:when>
  8580.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">15</xsl:when>
  8581.                     <xsl:otherwise>15</xsl:otherwise>
  8582.                 </xsl:choose>
  8583.             </xsl:when>
  8584.             <xsl:when test="$input-char='P' or $input-char='p' or $input-char='16' or $input-char='Roman_XVI' or $input-char='Roman_xvi' or $input-char='σìüσà¡' or $input-char='µï╛ΘÖå'">
  8585.                 <xsl:choose>
  8586.                     <xsl:when test="$output-type='ARABIC'">16</xsl:when>
  8587.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">p</xsl:when>
  8588.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">P</xsl:when>
  8589.                     <xsl:when test="$output-type='ROMAN_UPPER'">XVI</xsl:when>
  8590.                     <xsl:when test="$output-type='ROMAN_LOWER'">xvi</xsl:when>
  8591.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">16</xsl:when>
  8592.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüσà¡</xsl:when>
  8593.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">16</xsl:when>
  8594.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛ΘÖå</xsl:when>
  8595.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">16</xsl:when>
  8596.                     <xsl:otherwise>16</xsl:otherwise>
  8597.                 </xsl:choose>
  8598.             </xsl:when>
  8599.             <xsl:when test="$input-char='Q' or $input-char='q' or $input-char='17' or $input-char='Roman_XVII' or $input-char='Roman_xvii' or $input-char='σìüΣ╕â' or $input-char='µï╛µƒÆ'">
  8600.                 <xsl:choose>
  8601.                     <xsl:when test="$output-type='ARABIC'">17</xsl:when>
  8602.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">q</xsl:when>
  8603.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">Q</xsl:when>
  8604.                     <xsl:when test="$output-type='ROMAN_UPPER'">XVII</xsl:when>
  8605.                     <xsl:when test="$output-type='ROMAN_LOWER'">xvii</xsl:when>
  8606.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">17</xsl:when>
  8607.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüΣ╕â</xsl:when>
  8608.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">17</xsl:when>
  8609.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛µƒÆ</xsl:when>
  8610.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">17</xsl:when>
  8611.                     <xsl:otherwise>17</xsl:otherwise>
  8612.                 </xsl:choose>
  8613.             </xsl:when>
  8614.             <xsl:when test="$input-char='R' or $input-char='r' or $input-char='18' or $input-char='Roman_XVIII' or $input-char='Roman_xviii' or $input-char='σìüσà½' or $input-char='µï╛µìî'">
  8615.                 <xsl:choose>
  8616.                     <xsl:when test="$output-type='ARABIC'">18</xsl:when>
  8617.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">r</xsl:when>
  8618.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">R</xsl:when>
  8619.                     <xsl:when test="$output-type='ROMAN_UPPER'">XVIII</xsl:when>
  8620.                     <xsl:when test="$output-type='ROMAN_LOWER'">xviii</xsl:when>
  8621.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">18</xsl:when>
  8622.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüσà½</xsl:when>
  8623.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">18</xsl:when>
  8624.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛µìî</xsl:when>
  8625.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">18</xsl:when>
  8626.                     <xsl:otherwise>18</xsl:otherwise>
  8627.                 </xsl:choose>
  8628.             </xsl:when>
  8629.             <xsl:when test="$input-char='S' or $input-char='s' or $input-char='19' or $input-char='Roman_XIX' or $input-char='Roman_xix' or $input-char='σìüΣ╣¥' or $input-char='µï╛τÄû'">
  8630.                 <xsl:choose>
  8631.                     <xsl:when test="$output-type='ARABIC'">19</xsl:when>
  8632.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">s</xsl:when>
  8633.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">S</xsl:when>
  8634.                     <xsl:when test="$output-type='ROMAN_UPPER'">XIX</xsl:when>
  8635.                     <xsl:when test="$output-type='ROMAN_LOWER'">xix</xsl:when>
  8636.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">19</xsl:when>
  8637.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">σìüΣ╣¥</xsl:when>
  8638.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">19</xsl:when>
  8639.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">µï╛τÄû</xsl:when>
  8640.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">19</xsl:when>
  8641.                     <xsl:otherwise>19</xsl:otherwise>
  8642.                 </xsl:choose>
  8643.             </xsl:when>
  8644.             <xsl:when test="$input-char='T' or $input-char='t' or $input-char='20' or $input-char='Roman_XX' or $input-char='Roman_xx' or $input-char='Σ║îσìü' or $input-char='Φ┤░µï╛'">
  8645.                 <xsl:choose>
  8646.                     <xsl:when test="$output-type='ARABIC'">20</xsl:when>
  8647.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">t</xsl:when>
  8648.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">T</xsl:when>
  8649.                     <xsl:when test="$output-type='ROMAN_UPPER'">XX</xsl:when>
  8650.                     <xsl:when test="$output-type='ROMAN_LOWER'">xx</xsl:when>
  8651.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">20</xsl:when>
  8652.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║îσìü</xsl:when>
  8653.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">20</xsl:when>
  8654.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φ┤░µï╛</xsl:when>
  8655.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">20</xsl:when>
  8656.                     <xsl:otherwise>20</xsl:otherwise>
  8657.                 </xsl:choose>
  8658.             </xsl:when>
  8659.             <xsl:when test="$input-char='U' or $input-char='u' or $input-char='21' or $input-char='Roman_XXI' or $input-char='Roman_xxi' or $input-char='Σ║îσìüΣ╕Ç' or $input-char='Φ┤░µï╛σú╣'">
  8660.                 <xsl:choose>
  8661.                     <xsl:when test="$output-type='ARABIC'">21</xsl:when>
  8662.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">u</xsl:when>
  8663.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">U</xsl:when>
  8664.                     <xsl:when test="$output-type='ROMAN_UPPER'">XXI</xsl:when>
  8665.                     <xsl:when test="$output-type='ROMAN_LOWER'">xxi</xsl:when>
  8666.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">21</xsl:when>
  8667.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║îσìüΣ╕Ç</xsl:when>
  8668.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">21</xsl:when>
  8669.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φ┤░µï╛σú╣</xsl:when>
  8670.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">21</xsl:when>
  8671.                     <xsl:otherwise>21</xsl:otherwise>
  8672.                 </xsl:choose>
  8673.             </xsl:when>
  8674.             <xsl:when test="$input-char='V' or $input-char='v' or $input-char='22' or $input-char='Roman_XXII' or $input-char='Roman_xxii' or $input-char='Σ║îσìüΣ║î' or $input-char='Φ┤░µï╛Φ┤░'">
  8675.                 <xsl:choose>
  8676.                     <xsl:when test="$output-type='ARABIC'">22</xsl:when>
  8677.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">v</xsl:when>
  8678.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">V</xsl:when>
  8679.                     <xsl:when test="$output-type='ROMAN_UPPER'">XXII</xsl:when>
  8680.                     <xsl:when test="$output-type='ROMAN_LOWER'">xxii</xsl:when>
  8681.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">22</xsl:when>
  8682.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║îσìüΣ║î</xsl:when>
  8683.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">22</xsl:when>
  8684.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φ┤░µï╛Φ┤░</xsl:when>
  8685.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">22</xsl:when>
  8686.                     <xsl:otherwise>22</xsl:otherwise>
  8687.                 </xsl:choose>
  8688.             </xsl:when>
  8689.             <xsl:when test="$input-char='W' or $input-char='w' or $input-char='23' or $input-char='Roman_XXIII' or $input-char='Roman_xxiii' or $input-char='Σ║îσìüΣ╕ë' or $input-char='Φ┤░µï╛σÅü'">
  8690.                 <xsl:choose>
  8691.                     <xsl:when test="$output-type='ARABIC'">23</xsl:when>
  8692.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">w</xsl:when>
  8693.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">W</xsl:when>
  8694.                     <xsl:when test="$output-type='ROMAN_UPPER'">XXIII</xsl:when>
  8695.                     <xsl:when test="$output-type='ROMAN_LOWER'">xxiii</xsl:when>
  8696.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">23</xsl:when>
  8697.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║îσìüΣ╕ë</xsl:when>
  8698.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">23</xsl:when>
  8699.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φ┤░µï╛σÅü</xsl:when>
  8700.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">23</xsl:when>
  8701.                     <xsl:otherwise>23</xsl:otherwise>
  8702.                 </xsl:choose>
  8703.             </xsl:when>
  8704.             <xsl:when test="$input-char='X' or $input-char='x' or $input-char='24' or $input-char='Roman_XXIV' or $input-char='Roman_xxiv' or $input-char='Σ║îσìüσ¢¢' or $input-char='Φ┤░µï╛Φéå'">
  8705.                 <xsl:choose>
  8706.                     <xsl:when test="$output-type='ARABIC'">24</xsl:when>
  8707.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">x</xsl:when>
  8708.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">X</xsl:when>
  8709.                     <xsl:when test="$output-type='ROMAN_UPPER'">XXIV</xsl:when>
  8710.                     <xsl:when test="$output-type='ROMAN_LOWER'">xxiv</xsl:when>
  8711.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">24</xsl:when>
  8712.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║îσìüσ¢¢</xsl:when>
  8713.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">24</xsl:when>
  8714.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φ┤░µï╛Φéå</xsl:when>
  8715.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">24</xsl:when>
  8716.                     <xsl:otherwise>24</xsl:otherwise>
  8717.                 </xsl:choose>
  8718.             </xsl:when>
  8719.             <xsl:when test="$input-char='Y' or $input-char='y' or $input-char='25' or $input-char='Roman_XXV' or $input-char='Roman_xxv' or $input-char='Σ║îσìüΣ║ö' or $input-char='Φ┤░µï╛Σ╝ì'">
  8720.                 <xsl:choose>
  8721.                     <xsl:when test="$output-type='ARABIC'">25</xsl:when>
  8722.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">y</xsl:when>
  8723.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">Y</xsl:when>
  8724.                     <xsl:when test="$output-type='ROMAN_UPPER'">XXV</xsl:when>
  8725.                     <xsl:when test="$output-type='ROMAN_LOWER'">xxv</xsl:when>
  8726.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">25</xsl:when>
  8727.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║îσìüΣ║ö</xsl:when>
  8728.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">25</xsl:when>
  8729.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φ┤░µï╛Σ╝ì</xsl:when>
  8730.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">25</xsl:when>
  8731.                     <xsl:otherwise>25</xsl:otherwise>
  8732.                 </xsl:choose>
  8733.             </xsl:when>
  8734.             <xsl:when test="$input-char='Z' or $input-char='z' or $input-char='26' or $input-char='Roman_XXVI' or $input-char='Roman_xxvi' or $input-char='Σ║îσìüσà¡' or $input-char='Φ┤░µï╛ΘÖå'">
  8735.                 <xsl:choose>
  8736.                     <xsl:when test="$output-type='ARABIC'">26</xsl:when>
  8737.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">z</xsl:when>
  8738.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">Z</xsl:when>
  8739.                     <xsl:when test="$output-type='ROMAN_UPPER'">XXVI</xsl:when>
  8740.                     <xsl:when test="$output-type='ROMAN_LOWER'">xxvi</xsl:when>
  8741.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">26</xsl:when>
  8742.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ║îσìüσà¡</xsl:when>
  8743.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">26</xsl:when>
  8744.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">Φ┤░µï╛ΘÖå</xsl:when>
  8745.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">26</xsl:when>
  8746.                     <xsl:otherwise>26</xsl:otherwise>
  8747.                 </xsl:choose>
  8748.             </xsl:when>
  8749.             <xsl:otherwise>
  8750.                 <xsl:choose>
  8751.                     <xsl:when test="$output-type='ARABIC'">1</xsl:when>
  8752.                     <xsl:when test="$output-type='CHARS_LOWER_LETTER'">a</xsl:when>
  8753.                     <xsl:when test="$output-type='CHARS_UPPER_LETTER'">A</xsl:when>
  8754.                     <xsl:when test="$output-type='ROMAN_UPPER'">I</xsl:when>
  8755.                     <xsl:when test="$output-type='ROMAN_LOWER'">i</xsl:when>
  8756.                     <xsl:when test="$output-type='FULLWIDTH_ARABIC'">1</xsl:when>
  8757.                     <xsl:when test="$output-type='NUMBER_LOWER_ZH'">Σ╕Ç</xsl:when>
  8758.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH_TW'">1</xsl:when>
  8759.                     <xsl:when test="$output-type='NUMBER_UPPER_ZH'">σú╣</xsl:when>
  8760.                     <xsl:when test="$output-type='CIRCLE_NUMBER'">1</xsl:when>
  8761.                     <xsl:otherwise>1</xsl:otherwise>
  8762.                 </xsl:choose>
  8763.             </xsl:otherwise>
  8764.         </xsl:choose>
  8765.     </xsl:template>
  8766.     <!--RedOffice comment (Zengjh) end charts-->
  8767.     <!-- Σ╗ÑΣ╕ïµ¿íµ¥┐τÜäΣ╜£τö¿µÿ»σ░åτ╜æµá╝τ║┐Θó£Φë▓τö▒16Φ┐¢σê╢Φ╜¼µìóΣ╕║σìüΦ┐¢σê╢ -->
  8768.     <xsl:template name="transform-hex-to-decimal">
  8769.         <xsl:param name="number"/>
  8770.         <xsl:variable name="R-color-number">
  8771.             <xsl:call-template name="color-hex-to-decimal">
  8772.                 <xsl:with-param name="chars" select="substring($number,2,2)"/>
  8773.             </xsl:call-template>
  8774.         </xsl:variable>
  8775.         <xsl:variable name="G-color-number">
  8776.             <xsl:call-template name="color-hex-to-decimal">
  8777.                 <xsl:with-param name="chars" select="substring($number,4,2)"/>
  8778.             </xsl:call-template>
  8779.         </xsl:variable>
  8780.         <xsl:variable name="B-color-number">
  8781.             <xsl:call-template name="color-hex-to-decimal">
  8782.                 <xsl:with-param name="chars" select="substring($number,6,2)"/>
  8783.             </xsl:call-template>
  8784.         </xsl:variable>
  8785.         <xsl:value-of select="$R-color-number * 65536 + $G-color-number * 256 + $B-color-number"/>
  8786.     </xsl:template>
  8787.     <!-- Σ╗ÑΣ╕ïµ¿íµ¥┐τÜäΣ╜£τö¿µÿ»Σ╕║RµêûGµêûBΘó£Φë▓Φ╜¼µìóΣ╕║σìüΦ┐¢σê╢σ╜óσ╝Å-->
  8788.     <xsl:template name="color-hex-to-decimal">
  8789.         <xsl:param name="chars"/>
  8790.         <xsl:variable name="first-num">
  8791.             <xsl:call-template name="hex-to-decimal">
  8792.                 <xsl:with-param name="char" select="substring($chars,1,1)"/>
  8793.             </xsl:call-template>
  8794.         </xsl:variable>
  8795.         <xsl:variable name="second-num">
  8796.             <xsl:call-template name="hex-to-decimal">
  8797.                 <xsl:with-param name="char" select="substring($chars,2,1)"/>
  8798.             </xsl:call-template>
  8799.         </xsl:variable>
  8800.         <xsl:value-of select="$first-num *16 + $second-num"/>
  8801.     </xsl:template>
  8802.     <xsl:template name="hex-to-decimal">
  8803.         <xsl:param name="char"/>
  8804.         <xsl:choose>
  8805.             <xsl:when test="$char='0'">0</xsl:when>
  8806.             <xsl:when test="$char='1'">1</xsl:when>
  8807.             <xsl:when test="$char='2'">2</xsl:when>
  8808.             <xsl:when test="$char='3'">3</xsl:when>
  8809.             <xsl:when test="$char='4'">4</xsl:when>
  8810.             <xsl:when test="$char='5'">5</xsl:when>
  8811.             <xsl:when test="$char='6'">6</xsl:when>
  8812.             <xsl:when test="$char='7'">7</xsl:when>
  8813.             <xsl:when test="$char='8'">8</xsl:when>
  8814.             <xsl:when test="$char='9'">9</xsl:when>
  8815.             <xsl:when test="$char='a'">10</xsl:when>
  8816.             <xsl:when test="$char='b'">11</xsl:when>
  8817.             <xsl:when test="$char='c'">12</xsl:when>
  8818.             <xsl:when test="$char='d'">13</xsl:when>
  8819.             <xsl:when test="$char='e'">14</xsl:when>
  8820.             <xsl:when test="$char='f'">15</xsl:when>
  8821.         </xsl:choose>
  8822.     </xsl:template>
  8823.     <!-- end -->
  8824.     <!--ro000179 chenjh-->
  8825.     <xsl:template name="search-left-top-in-tables">
  8826.         <xsl:param name="cellstylename"/>
  8827.         <xsl:param name="tableslist"/>
  8828.         <xsl:param name="return"/>
  8829.         <xsl:choose>
  8830.             <xsl:when test="$tableslist and $return=''">
  8831.                 <xsl:variable name="firsttablerows" select="$tableslist[1]//Φí¿:Φíî"/>
  8832.                 <xsl:variable name="first-left-top">
  8833.                     <xsl:call-template name="search-left-top-inatable">
  8834.                         <xsl:with-param name="row-num" select="'1'"/>
  8835.                         <xsl:with-param name="firsttablerows" select="$firsttablerows"/>
  8836.                         <xsl:with-param name="cellstylename" select="$cellstylename"/>
  8837.                         <xsl:with-param name="return" select="''"/>
  8838.                     </xsl:call-template>
  8839.                 </xsl:variable>
  8840.                 <xsl:variable name="rest-left-top">
  8841.                     <xsl:call-template name="search-left-top-in-tables">
  8842.                         <xsl:with-param name="cellstylename" select="$cellstylename"/>
  8843.                         <xsl:with-param name="tableslist" select="$tableslist[position()!=1]"/>
  8844.                         <xsl:with-param name="return" select="$first-left-top"/>
  8845.                     </xsl:call-template>
  8846.                 </xsl:variable>
  8847.                 <xsl:choose>
  8848.                     <xsl:when test="$first-left-top!=''">
  8849.                         <xsl:value-of select="$first-left-top"/>
  8850.                     </xsl:when>
  8851.                     <xsl:when test="$rest-left-top!=''">
  8852.                         <xsl:value-of select="$rest-left-top"/>
  8853.                     </xsl:when>
  8854.                     <xsl:otherwise>
  8855.                         <xsl:value-of select="''"/>
  8856.                     </xsl:otherwise>
  8857.                 </xsl:choose>
  8858.             </xsl:when>
  8859.             <xsl:otherwise>
  8860.                 <xsl:value-of select="$return"/>
  8861.             </xsl:otherwise>
  8862.         </xsl:choose>
  8863.     </xsl:template>
  8864.     <!-- Σ╗ÑΣ╕ïµ¿íµ¥┐τÜäΣ╜£τö¿Σ╕║σ£¿Σ╕ÇΣ╕¬tableΣ╕¡σ»╗µë╛σ╖ªΣ╕èΦºÆ-->
  8865.     <xsl:template name="search-left-top-inatable">
  8866.         <xsl:param name="row-num"/>
  8867.         <xsl:param name="firsttablerows"/>
  8868.         <xsl:param name="cellstylename"/>
  8869.         <xsl:param name="return"/>
  8870.         <xsl:choose>
  8871.             <xsl:when test="$firsttablerows and $return=''">
  8872.                 <xsl:variable name="firstcells" select="$firsttablerows[1]/Φí¿:σìòσàâµá╝"/>
  8873.                 <xsl:variable name="first-left-top">
  8874.                     <xsl:call-template name="search-left-top-inarow">
  8875.                         <xsl:with-param name="row-num" select="$row-num"/>
  8876.                         <xsl:with-param name="firstcells" select="$firstcells"/>
  8877.                         <xsl:with-param name="cellstylename" select="$cellstylename"/>
  8878.                         <xsl:with-param name="return" select="''"/>
  8879.                     </xsl:call-template>
  8880.                 </xsl:variable>
  8881.                 <xsl:variable name="row-num-p">
  8882.                     <xsl:choose>
  8883.                         <xsl:when test="$firsttablerows[1]/@Φí¿:Φ╖¿σ║ª">
  8884.                             <xsl:value-of select="$row-num+ $firsttablerows[1]/@Φí¿:Φ╖¿σ║ª"/>
  8885.                         </xsl:when>
  8886.                         <xsl:otherwise>
  8887.                             <xsl:value-of select="$row-num+1"/>
  8888.                         </xsl:otherwise>
  8889.                     </xsl:choose>
  8890.                 </xsl:variable>
  8891.                 <xsl:variable name="rest-left-top">
  8892.                     <xsl:call-template name="search-left-top-inatable">
  8893.                         <xsl:with-param name="row-num" select="$row-num-p"/>
  8894.                         <xsl:with-param name="firsttablerows" select="$firsttablerows[position()!=1]"/>
  8895.                         <xsl:with-param name="cellstylename" select="$cellstylename"/>
  8896.                         <xsl:with-param name="return" select="$first-left-top"/>
  8897.                     </xsl:call-template>
  8898.                 </xsl:variable>
  8899.                 <xsl:choose>
  8900.                     <xsl:when test="$first-left-top!=''">
  8901.                         <xsl:value-of select="$first-left-top"/>
  8902.                     </xsl:when>
  8903.                     <xsl:when test="$rest-left-top !=''">
  8904.                         <xsl:value-of select="$rest-left-top "/>
  8905.                     </xsl:when>
  8906.                     <xsl:otherwise>
  8907.                         <xsl:value-of select="''"/>
  8908.                     </xsl:otherwise>
  8909.                 </xsl:choose>
  8910.             </xsl:when>
  8911.             <xsl:otherwise>
  8912.                 <xsl:value-of select="$return"/>
  8913.             </xsl:otherwise>
  8914.         </xsl:choose>
  8915.     </xsl:template>
  8916.     <!-- Σ╗ÑΣ╕ïµ¿íµ¥┐τÜäΣ╜£τö¿Σ╕║σ£¿µƒÉΣ╕ÇΦíîΣ╕¡σ»╗µë╛σ╖ªΣ╕èΦºÆ-->
  8917.     <xsl:template name="search-left-top-inarow">
  8918.         <xsl:param name="row-num"/>
  8919.         <xsl:param name="firstcells"/>
  8920.         <xsl:param name="cellstylename"/>
  8921.         <xsl:param name="return"/>
  8922.         <xsl:choose>
  8923.             <xsl:when test="$firstcells and $return=''">
  8924.                 <xsl:variable name="firstcell" select="$firstcells[1]"/>
  8925.                 <xsl:variable name="first-left-top">
  8926.                     <xsl:call-template name="search-left-top-inacell">
  8927.                         <xsl:with-param name="row-num" select="$row-num"/>
  8928.                         <xsl:with-param name="cell" select="$firstcell"/>
  8929.                         <xsl:with-param name="cellstylename" select="$cellstylename"/>
  8930.                     </xsl:call-template>
  8931.                 </xsl:variable>
  8932.                 <xsl:variable name="rest-left-top">
  8933.                     <xsl:call-template name="search-left-top-inarow">
  8934.                         <xsl:with-param name="row-num" select="$row-num"/>
  8935.                         <xsl:with-param name="firstcells" select="$firstcells[position()!=1]"/>
  8936.                         <xsl:with-param name="cellstylename" select="$cellstylename"/>
  8937.                         <xsl:with-param name="return" select="$first-left-top"/>
  8938.                     </xsl:call-template>
  8939.                 </xsl:variable>
  8940.                 <xsl:choose>
  8941.                     <xsl:when test="$first-left-top!=''">
  8942.                         <xsl:value-of select="$first-left-top"/>
  8943.                     </xsl:when>
  8944.                     <xsl:when test="$rest-left-top !=''">
  8945.                         <xsl:value-of select="$rest-left-top "/>
  8946.                     </xsl:when>
  8947.                     <xsl:otherwise>
  8948.                         <xsl:value-of select="''"/>
  8949.                     </xsl:otherwise>
  8950.                 </xsl:choose>
  8951.             </xsl:when>
  8952.             <xsl:otherwise>
  8953.                 <xsl:value-of select="$return"/>
  8954.             </xsl:otherwise>
  8955.         </xsl:choose>
  8956.     </xsl:template>
  8957.     <!-- Σ╗ÑΣ╕ïτÜäµ¿íµ¥┐τÜäΣ╜£τö¿Σ╕║σêñµû¡µƒÉΣ╕¬cellµÿ»σɪΣ╕║σ╖ªΣ╕èΦºÆ -->
  8958.     <xsl:template name="search-left-top-inacell">
  8959.         <xsl:param name="row-num"/>
  8960.         <xsl:param name="cell"/>
  8961.         <xsl:param name="cellstylename"/>
  8962.         <xsl:choose>
  8963.             <xsl:when test="$cell/@Φí¿:σ╝ŵá╖σ╝òτö¿=$cellstylename">
  8964.                 <xsl:value-of select="concat($cell/ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/@Φí¿:σÉìτº░,'.',$cell/@Φí¿:σêùσÅ╖,' ',$row-num)"/>
  8965.             </xsl:when>
  8966.             <xsl:otherwise>
  8967.                 <xsl:value-of select="''"/>
  8968.                 <!-- <xsl:variable name="style-is-default">
  8969.                     <xsl:call-template name="is-default-or-not-condition-format"> 
  8970.                         <xsl:with-param name="column-num" select="$cell/@Φí¿:σêùσÅ╖"/>
  8971.                         <xsl:with-param name="cell" select="$cell"/>
  8972.                         <xsl:with-param name="preceding-cellstylename" select="''"/>
  8973.                         <xsl:with-param name="temp-num" select="'0'"/>
  8974.                         <xsl:with-param name="cellstylename" select="$cellstylename"/>
  8975.                         <xsl:with-param name="table-collumns" select="$cell/ancestor::Φí¿:σ╖ÑΣ╜£Φí¿σåàσ«╣//Φí¿:σêù"/>
  8976.                     </xsl:call-template>
  8977.                 </xsl:variable>
  8978.                 <xsl:choose>
  8979.                     <xsl:when test="$style-is-default='yes' ">
  8980.                         <xsl:value-of select="concat($cell/ancestor::Φí¿:σ╖ÑΣ╜£Φí¿/@Φí¿:σÉìτº░,'.',$cell/@Φí¿:σêùσÅ╖,' ',$row-num)"/>
  8981.                     </xsl:when>
  8982.                     <xsl:otherwise>
  8983.                         <xsl:value-of select="''"/>
  8984.                     </xsl:otherwise>
  8985.                 </xsl:choose> -->
  8986.             </xsl:otherwise>
  8987.         </xsl:choose>
  8988.     </xsl:template>
  8989.     <xsl:template name="translate-left-top">
  8990.         <xsl:param name="left-top"/>
  8991.         <xsl:if test="$left-top!=''">
  8992.             <xsl:variable name="column-number" select="substring-before(substring-after($left-top,'.'),' ')"/>
  8993.             <xsl:variable name="column-number1">
  8994.                 <xsl:value-of select="floor( $column-number div 26 )"/>
  8995.             </xsl:variable>
  8996.             <xsl:variable name="column-number2">
  8997.                 <xsl:value-of select="$column-number mod 26"/>
  8998.             </xsl:variable>
  8999.             <xsl:variable name="column-character1">
  9000.                 <xsl:call-template name="number-to-character">
  9001.                     <xsl:with-param name="number" select="$column-number1"/>
  9002.                 </xsl:call-template>
  9003.             </xsl:variable>
  9004.             <xsl:variable name="column-character2">
  9005.                 <xsl:call-template name="number-to-character">
  9006.                     <xsl:with-param name="number" select="$column-number2"/>
  9007.                 </xsl:call-template>
  9008.             </xsl:variable>
  9009.             <xsl:value-of select="concat(substring-before($left-top,'.'),'.',$column-character1,$column-character2,substring-after($left-top,' '))"/>
  9010.         </xsl:if>
  9011.     </xsl:template>
  9012.     <xsl:template name="create-the-condition-format-map">
  9013.         <xsl:param name="condition-format-set"/>
  9014.         <xsl:param name="current-left-top"/>
  9015.         <xsl:if test="$condition-format-set">
  9016.             <xsl:choose>
  9017.                 <xsl:when test="contains($condition-format-set[1]/Φí¿:σî║σƒƒ/text(),$current-left-top)">
  9018.                     <xsl:for-each select="$condition-format-set[1]/Φí¿:µ¥íΣ╗╢">
  9019.                         <xsl:variable name="condition-text">
  9020.                             <xsl:choose>
  9021.                                 <xsl:when test="@Φí¿:τ▒╗σ₧ï='cell value'">
  9022.                                     <xsl:choose>
  9023.                                         <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='between' ">
  9024.                                             <xsl:value-of select="concat('cell-content-is-between','(',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  9025.                                         </xsl:when>
  9026.                                         <xsl:when test=" Φí¿:µôìΣ╜£τáü/text()='not between'">
  9027.                                             <xsl:value-of select="concat('cell-content-is-not-between','(',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),',',Φí¿:τ¼¼Σ║îµôìΣ╜£µò░/text(),')')"/>
  9028.                                         </xsl:when>
  9029.                                         <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='equal to'">
  9030.                                             <xsl:value-of select="concat('cell-content()=',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  9031.                                         </xsl:when>
  9032.                                         <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='not equal to'">
  9033.                                             <xsl:value-of select="concat('cell-content()!=',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  9034.                                         </xsl:when>
  9035.                                         <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='greater than'">
  9036.                                             <xsl:value-of select="concat('cell-content()>',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  9037.                                         </xsl:when>
  9038.                                         <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='less than'">
  9039.                                             <xsl:value-of select="concat('cell-content()<',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  9040.                                         </xsl:when>
  9041.                                         <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='greater than or equal to'">
  9042.                                             <xsl:value-of select="concat('cell-content()>=',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  9043.                                         </xsl:when>
  9044.                                         <xsl:when test="Φí¿:µôìΣ╜£τáü/text()='less than or equal to'">
  9045.                                             <xsl:value-of select="concat('cell-content()<=',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text())"/>
  9046.                                         </xsl:when>
  9047.                                     </xsl:choose>
  9048.                                 </xsl:when>
  9049.                                 <xsl:when test="@Φí¿:τ▒╗σ₧ï='formula'">
  9050.                                     <xsl:value-of select="concat('is-true-formula','(',Φí¿:τ¼¼Σ╕ǵôìΣ╜£µò░/text(),')')"/>
  9051.                                 </xsl:when>
  9052.                             </xsl:choose>
  9053.                         </xsl:variable>
  9054.                         <xsl:element name="style:map">
  9055.                             <xsl:attribute name="style:condition"><xsl:value-of select="$condition-text"/></xsl:attribute>
  9056.                             <xsl:attribute name="style:apply-style-name"><xsl:value-of select="//uof:σìòσàâµá╝σ╝ŵá╖[@Φí¿:µáçΦ»åτ¼ª=current()/Φí¿:µá╝σ╝Å/@Φí¿:σ╝ŵá╖σ╝òτö¿]/@Φí¿:σÉìτº░"/></xsl:attribute>
  9057.                             <xsl:attribute name="style:base-cell-address"><xsl:value-of select="substring-after($condition-format-set[1]/Φí¿:σî║σƒƒ/text(),':')"/></xsl:attribute>
  9058.                         </xsl:element>
  9059.                     </xsl:for-each>
  9060.                 </xsl:when>
  9061.                 <xsl:otherwise>
  9062.                     <xsl:call-template name="create-the-condition-format-map">
  9063.                         <xsl:with-param name="condition-format-set" select="$condition-format-set[position()!=1]"/>
  9064.                         <xsl:with-param name="current-left-top" select="$current-left-top"/>
  9065.                     </xsl:call-template>
  9066.                 </xsl:otherwise>
  9067.             </xsl:choose>
  9068.         </xsl:if>
  9069.     </xsl:template>
  9070.     <!--ro000179 end-->
  9071. </xsl:stylesheet>
  9072.