| <?xml version="1.0" encoding="UTF-8"?> |
| <!--/************************************************************** * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. * |
| *************************************************************/--> |
| <!--MARKER(update_precomp.py): autogen include statement, do not remove--> |
| <!--//This file is about the conversion of the UOF v2.0 and ODF document format--> |
| <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:anim="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:nsof="http://neoshineoffice.com" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" xmlns:pzip="urn:cleverage:xmlns:post-processings:zip" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:smil="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:uof="http://schemas.uof.org/cn/2009/uof" xmlns:书签="http://schemas.uof.org/cn/2009/bookmarks" xmlns:元="http://schemas.uof.org/cn/2009/metadata" xmlns:公式="http://schemas.uof.org/cn/2009/equations" xmlns:图="http://schemas.uof.org/cn/2009/graph" xmlns:图形="http://schemas.uof.org/cn/2009/graphics" xmlns:图表="http://schemas.uof.org/cn/2009/chart" xmlns:字="http://schemas.uof.org/cn/2009/wordproc" xmlns:对象="http://schemas.uof.org/cn/2009/objects" xmlns:式样="http://schemas.uof.org/cn/2009/styles" xmlns:扩展="http://schemas.uof.org/cn/2009/extend" xmlns:数="http://www.w3.org/1998/Math/MathML" xmlns:数据="http://schemas.uof.org/cn/2009/usd" xmlns:演="http://schemas.uof.org/cn/2009/presentation" xmlns:表="http://schemas.uof.org/cn/2009/spreadsheet" xmlns:规则="http://schemas.uof.org/cn/2009/rules" xmlns:超链="http://schemas.uof.org/cn/2009/hyperlinks" exclude-result-prefixes="uof 表 演 字 图 数 pzip 元 超链 图形 对象 公式 书签 数据 扩展 规则 式样"> |
| <xsl:output omit-xml-declaration="no" encoding="utf-8" version="1.0" method="xml" standalone="yes" indent="no"/> |
| <xsl:strip-space elements="*"/> |
| <xsl:variable name="document_type"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/演:演示文稿文档_6C10">presentation</xsl:when> |
| <xsl:when test="/uof:UOF_0000/字:文字处理文档_4225">text</xsl:when> |
| <xsl:when test="/uof:UOF_0000/表:电子表格文档_E826">spreadsheet</xsl:when> |
| <xsl:when test="/uof:UOF_0000/@mimetype_0001='vnd.uof.text'">text</xsl:when> |
| <xsl:when test="/uof:UOF_0000/@mimetype_0001='vnd.uof.presentation'">presentation</xsl:when> |
| <xsl:when test="/uof:UOF_0000/@mimetype_0001='vnd.uof.spreadsheet'">spreadsheet</xsl:when> |
| <xsl:otherwise>text</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="uofUnit"> |
| <xsl:variable name="uu" select="/uof:UOF_0000/规则:公用处理规则_B665/规则:长度单位_B666"/> |
| <xsl:choose> |
| <xsl:when test="$uu='cm'">cm</xsl:when> |
| <xsl:when test="$uu='mm'">mm</xsl:when> |
| <xsl:when test="$uu='pt'">pt</xsl:when> |
| <xsl:when test="contains($uu,'in')">in</xsl:when> |
| <xsl:otherwise>pt</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="other-to-cm-conversion-factor"> |
| <xsl:choose> |
| <xsl:when test="$uofUnit='cm'">1</xsl:when> |
| <xsl:when test="$uofUnit='mm'">0.1</xsl:when> |
| <xsl:when test="$uofUnit='pt'">0.03527</xsl:when> |
| <xsl:when test="$uofUnit='inch'">2.54</xsl:when> |
| <xsl:when test="$uofUnit='pica'">0.4233</xsl:when> |
| <xsl:otherwise>0.03527</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="isRCCellAddress"> |
| <xsl:choose> |
| <xsl:when test="($document_type='spreadsheet') and (/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:是否RC引用_B634 = 'true')">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="gvar_ChartsIndexes"> |
| <xsl:for-each select="//图表:图表_E837"> |
| <xsl:element name="ChartIndex"> |
| <xsl:attribute name="GenerateID" select="generate-id()"/> |
| <xsl:attribute name="Index" select="position()"/> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:key name="CellStyle" match="/uof:UOF_0000/式样:式样集_990B/式样:单元格式样集_9915/式样:单元格式样_9916" use="@标识符_E7AC"/> |
| <xsl:key name="MasterTextStyle" match="/uof:UOF_0000/式样:式样集_990B/式样:文本式样集_9913/式样:文本式样_9914" use="@标识符_9909"/> |
| <xsl:key name="uof-paragraph-styles" match="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912 | /uof:UOF_0000/式样:式样集_990B/式样:文本式样集_9913/式样:文本式样_9914/式样:段落式样_9912" use="@标识符_4100"/> |
| <xsl:key name="uof-text-styles" match="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910" use="@标识符_4100"/> |
| <xsl:key name="uof-table-styles" match="/uof:UOF_0000/式样:式样集_990B/式样:文字表式样集_9917/式样:文字表式样_9918" use="@标识符_4100"/> |
| <xsl:key name="hyperlink" match="/uof:UOF_0000/超链:链接集_AA0B/超链:超级链接_AA0C" use="超链:链源_AA00"/> |
| <xsl:key name="hyperlinkID" match="/uof:UOF_0000/超链:链接集_AA0B/超链:超级链接_AA0C" use="@标识符_AA0A"/> |
| <xsl:key name="bookmark" match="/uof:UOF_0000/书签:书签集_9104/书签:书签_9105" use="@名称_9103"/> |
| <xsl:key name="uof-number-styles" match="/uof:UOF_0000/式样:段落式样集_9911/式样:自动编号集_990E/字:自动编号_4124/字:级别_4112" use="字:链接式样引用_4118"/> |
| <xsl:key name="AutoNumber" match="/uof:UOF_0000/式样:段落式样集_9911/式样:自动编号集_990E/字:自动编号_4124" use="@标识符_4100"/> |
| <xsl:key name="rel_graphic_name" match="/uof:UOF_0000/演:演示文稿文档_6C10//uof:锚点_C644 | /uof:UOF_0000/字:文字处理文档_4225//uof:锚点_C644 | /uof:UOF_0000/表:电子表格文档_E826//uof:锚点_C644 | /uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:内容_8043/字:段落_416B//uof:锚点_C644" use="@图形引用_C62E"/> |
| <xsl:key name="graph-styles" match="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062" use="@标识符_804B"/> |
| <xsl:key name="graph4chart" match="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062" use="图:图表数据引用_8065"/> |
| <xsl:key name="math-styles" match="/uof:UOF_0000/公式:公式集_C200" use="@标识符_C202"/> |
| <xsl:key name="other-styles" match="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据_D701" use="@标识符_D704"/> |
| <xsl:key name="HeaderFooterP" match="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:页眉页脚集_B640/*" use="name()"/> |
| <xsl:key name="Slide" match="/uof:UOF_0000/演:演示文稿文档_6C10/演:幻灯片集_6C0E/演:幻灯片_6C0F" use="@母版引用_6B26"/> |
| <xsl:key name="SlideMaster" match="/uof:UOF_0000/演:演示文稿文档_6C10/演:母版集_6C0C/演:母版_6C0D" use="@标识符_6BE8"/> |
| <xsl:key name="graphicsextension" match="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201" use="扩展:扩展内容_B204/扩展:路径_B205"/> |
| <xsl:key name="textTable" match="/uof:UOF_0000/uof:文字处理文档_4225/字:文字表_416C" use="字:文字表属性_41CC/@式样引用_419C"/> |
| <xsl:template match="uof:UOF_0000"> |
| <office:document> |
| <xsl:variable name="mimetype"> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'text'">application/vnd.oasis.opendocument.text</xsl:when> |
| <xsl:when test="$document_type = 'presentation'">application/vnd.oasis.opendocument.presentation</xsl:when> |
| <xsl:when test="$document_type = 'spreadsheet'">application/vnd.oasis.opendocument.spreadsheet</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="office:mimetype" select="$mimetype"/> |
| <xsl:attribute name="office:version" select="1.2"/> |
| <xsl:apply-templates select="/uof:UOF_0000/元:元数据_5200"/> |
| <office:settings> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'text'"> |
| <xsl:call-template name="OfficeSettingsText"/> |
| </xsl:when> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:call-template name="OfficeSettingsPresentation"/> |
| </xsl:when> |
| <xsl:when test="$document_type = 'spreadsheet'"> |
| <xsl:call-template name="OfficeSettingsSpreadsheet"/> |
| </xsl:when> |
| </xsl:choose> |
| </office:settings> |
| <!--<xsl:call-template name="SetMetricUnit"/>--> |
| <xsl:if test="$document_type != 'presentation'"> |
| <office:font-face-decls> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C"> |
| <xsl:call-template name="UOFFonts"/> |
| </xsl:for-each> |
| </office:font-face-decls> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'text'"> |
| <xsl:apply-templates select="/uof:UOF_0000/字:文字处理文档_4225"/> |
| </xsl:when> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:apply-templates select="/uof:UOF_0000/演:演示文稿文档_6C10"/> |
| </xsl:when> |
| <xsl:when test="$document_type = 'spreadsheet'"> |
| <xsl:apply-templates select="/uof:UOF_0000/表:电子表格文档_E826"/> |
| </xsl:when> |
| </xsl:choose> |
| <office:automatic-styles> |
| <!-- number:time-style and number:date-style --> |
| <xsl:if test="//字:域开始_419E[@类型_416E='createdate'] | //字:域开始_419E[@类型_416E='time'] | //字:域开始_419E[@类型_416E='savedate'] | //字:域开始_419E[@类型_416E='date']"> |
| <xsl:call-template name="TimeDateNumberStyle"/> |
| </xsl:if> |
| <xsl:apply-templates select="演:演示文稿文档_6C10/演:幻灯片集_6C0E/演:幻灯片_6C0F" mode="AutoStyle"/> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@类型_4102='auto']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('auto')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| <!--xsl:call-template name="BodyTextProperties"/--> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102='auto']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('auto')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| <!-- 母版用到的段落式样写在style.xml下,其他段落式样写在content.xml下 --> |
| <xsl:choose> |
| <xsl:when test="not($document_type = 'presentation')"> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:批注集_B669/规则:批注_B66A//字:段落_416B | /uof:UOF_0000/字:文字处理文档_4225//字:段落_416B | /uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:内容_8043//字:段落_416B | /uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825//字:段落_416B"> |
| <xsl:call-template name="BodyParagraphProperties"/> |
| <xsl:for-each select="字:句_419D/字:句属性_4158"> |
| <xsl:call-template name="BodyTextProperties"/> |
| </xsl:for-each> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表内容_E80E/表:行_E7F1/表:单元格_E7F2/表:数据_E7B3/字:句_419D/字:句属性_4158"> |
| <xsl:call-template name="BodyTextProperties"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:批注集_B669/规则:批注_B66A//字:段落_416B | /uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:内容_8043//字:段落_416B"> |
| <xsl:if test="name(key('rel_graphic_name',ancestor::图:图形_8062/@标识符_804B)[1]/..)!='演:母版_6C0D'"> |
| <xsl:call-template name="BodyParagraphProperties"/> |
| <xsl:for-each select="字:句_419D/字:句属性_4158"> |
| <xsl:call-template name="BodyTextProperties"/> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'spreadsheet'"> |
| <xsl:call-template name="BodyTableStyle"/> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:单元格式样集_9915/式样:单元格式样_9916[@类型_E7AE='auto']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('auto')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:文字表式样集_9917/式样:文字表式样_9918[@类型_4102='auto']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('auto')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!-- 相对于_C647 --> |
| <xsl:if test="/uof:UOF_0000/字:文字处理文档_4225/字:文字表_416C/字:文字表属性_41CC/字:位置_41C7/uof:垂直_410D[@相对于_C647 = 'margin']/uof:相对_4109[@参考点_410B = 'bottom']"> |
| <xsl:apply-templates select="/uof:UOF_0000/字:文字处理文档_4225/字:文字表_416C/字:文字表属性_41CC" mode="embeded_into_frame"/> |
| </xsl:if> |
| <xsl:apply-templates select="/uof:UOF_0000/式样:式样集_990B/式样:自动编号集_990E/字:自动编号_4124" mode="liststyle"/> |
| <xsl:call-template name="BodyTextTableStyle"/> |
| <xsl:call-template name="GraphicStyle"/> |
| </office:automatic-styles> |
| <!--xsl:if test="$document_type != 'presentation'"--> |
| <office:font-face-decls> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C"> |
| <xsl:call-template name="UOFFonts"/> |
| </xsl:for-each> |
| </office:font-face-decls> |
| <!--/xsl:if--> |
| <office:automatic-styles> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'text'"> |
| <xsl:call-template name="PageLayoutStyle"/> |
| <!-- 页码式样 starting --> |
| <xsl:for-each select="/uof:UOF_0000/字:文字处理文档_4225/字:分节_416A/字:节属性_421B/字:页脚_41F7//字:段落_416B"> |
| <xsl:call-template name="BodyParagraphProperties"/> |
| <xsl:for-each select="字:句_419D/字:句属性_4158"> |
| <xsl:call-template name="BodyTextProperties"/> |
| </xsl:for-each> |
| </xsl:for-each> |
| <!-- 页码式样 ending. --> |
| </xsl:when> |
| <xsl:when test="$document_type = 'spreadsheet'"> |
| <xsl:call-template name="ScPageLayoutStyle"/> |
| </xsl:when> |
| <xsl:when test="$document_type = 'presentation'"> |
| <!-- 母版用到的段落式样写在style.xml下,其他段落式样写在content.xml下 --> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:批注集_B669/规则:批注_B66A//字:段落_416B | /uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:内容_8043//字:段落_416B"> |
| <xsl:if test="name(key('rel_graphic_name',ancestor::图:图形_8062/@标识符_804B)[1]/..)='演:母版_6C0D'"> |
| <xsl:call-template name="BodyParagraphProperties"/> |
| <xsl:if test="(./字:段落属性_419B/字:自动编号信息_4186) or (count(./字:段落属性_419B/child::*) = 0)"> |
| <xsl:for-each select="key('uof-paragraph-styles',字:段落属性_419B/@式样引用_419C)[name(..)='式样:段落式样集_9911']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('auto')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:for-each select="字:句_419D/字:句属性_4158"> |
| <xsl:call-template name="BodyTextProperties"/> |
| <xsl:if test="count(*)=0"> |
| <xsl:for-each select="key('uof-text-styles',@式样引用_417B)"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('auto')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:call-template name="AutoStylePresentation"/> |
| <xsl:call-template name="SpecialHolderTextStyle"/> |
| <xsl:call-template name="MasterGraphicStyle"/> |
| </xsl:when> |
| </xsl:choose> |
| </office:automatic-styles> |
| <office:master-styles> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'text'"> |
| <xsl:call-template name="MasterStyleText"/> |
| </xsl:when> |
| <xsl:when test="$document_type = 'spreadsheet'"> |
| <xsl:call-template name="MasterStyleSpreadsheet"/> |
| </xsl:when> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:call-template name="MasterStylePresentation"/> |
| </xsl:when> |
| </xsl:choose> |
| </office:master-styles> |
| <office:styles> |
| <xsl:for-each select="//图:渐变_800D/.."> |
| <xsl:call-template name="GradientStyle"/> |
| </xsl:for-each> |
| <xsl:call-template name="HatchSetStyle"/> |
| <xsl:if test="$document_type = 'text'"> |
| <xsl:call-template name="CallExpandHatch"/> |
| <!--xsl:call-template name="CallExpandMarker"/--> |
| <xsl:call-template name="CallExpandStroke"/> |
| </xsl:if> |
| <xsl:call-template name="GraphicSetStyle"/> |
| <xsl:call-template name="GraphicDefinition"/> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@类型_4102='default'][1]"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('default')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102='default'][1]"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('default')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| <xsl:if test="$document_type = 'presentation'"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102='default'][1]"> |
| <xsl:apply-templates select="." mode="presentation-default"/> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'spreadsheet'"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:单元格式样集_9915/式样:单元格式样_9916[@类型_E7AE='default'][1]"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('default')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:文字表式样集_9917/式样:文字表式样_9918[@类型_4102='default'][1]"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('default')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@类型_4102='custom']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('custom')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102='custom']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('custom')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'spreadsheet'"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:单元格式样集_9915/式样:单元格式样_9916[@类型_E7AE='custom']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('custom')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:文字表式样集_9917/式样:文字表式样_9918[@类型_4102='custom']"> |
| <xsl:apply-templates select="."> |
| <xsl:with-param name="Type" select="string('custom')"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!--xsl:call-template name="BodyTextProperties"> |
| <xsl:with-param name="Type" select="'symbol'"/> |
| </xsl:call-template--> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:自动编号集_990E//字:符号字体_4116"> |
| <xsl:if test="count(./child::*)!=0"> |
| <xsl:call-template name="BodyTextProperties"/> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:if test="$document_type = 'text'"> |
| <xsl:call-template name="FootnoteSetting"/> |
| <xsl:call-template name="EndnoteSetting"/> |
| <xsl:call-template name="LineNumbering"/> |
| <style:default-page-layout> |
| <style:page-layout-properties style:layout-grid-standard-mode="true"/> |
| </style:default-page-layout> |
| </xsl:if> |
| <xsl:if test="$document_type = 'presentation'"> |
| <xsl:call-template name="OfficeStylePresentation"/> |
| </xsl:if> |
| </office:styles> |
| <xsl:for-each select="//图表:图表_E837"> |
| <xsl:apply-templates select="." /> |
| </xsl:for-each> |
| </office:document> |
| </xsl:template> |
| <xsl:template match="图表:图表_E837"> |
| <!--<office:meta> |
| <meta:generator>NeoShineOffice/6.0$Win32 OpenOffice.org_project/300M39$Build-9402</meta:generator> |
| </office:meta>--> |
| <xsl:call-template name="图表:固定式样式样集"/> |
| <xsl:call-template name="OfficeAutomaticStyles4chart"/> |
| <xsl:call-template name="OfficeBody4chart"/> |
| </xsl:template> |
| <xsl:template name="GetODFMetric"> |
| <xsl:choose> |
| <xsl:when test="$uofUnit = 'mm'">[1]</xsl:when> |
| <xsl:when test="$uofUnit = 'cm'">[2]</xsl:when> |
| <xsl:when test="$uofUnit = 'pt'">[6]</xsl:when> |
| <xsl:when test="$uofUnit = 'in'">[8]</xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <!--<xsl:template name="SetMetricUnit"> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation'"> |
| <office:scripts/> |
| </xsl:when> |
| <xsl:otherwise> |
| <office:scripts> |
| <office:script script:language="ooo:Basic"> |
| <ooo:libraries> |
| <ooo:library-embedded ooo:name="Standard"/> |
| </ooo:libraries> |
| </office:script> |
| <office:event-listeners> |
| <script:event-listener script:language="ooo:script" script:event-name="dom:load" xlink:href="vnd.sun.star.script:Tools.Misc.NeoShineOfficeSetMetricUnit?language=Basic&location=application"/> |
| </office:event-listeners> |
| </office:scripts> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template>--> |
| <xsl:template match="元:元数据_5200"> |
| <office:meta> |
| <xsl:if test="元:标题_5201"> |
| <dc:title> |
| <xsl:value-of select="元:标题_5201"/> |
| </dc:title> |
| </xsl:if> |
| <xsl:if test="元:主题_5202"> |
| <dc:subject> |
| <xsl:value-of select="元:主题_5202"/> |
| </dc:subject> |
| </xsl:if> |
| <xsl:if test="元:创建者_5203"> |
| <meta:initial-creator> |
| <xsl:value-of select="元:创建者_5203"/> |
| </meta:initial-creator> |
| </xsl:if> |
| <!--xsl:if test="元:作者"> |
| </xsl:if--> |
| <xsl:if test="元:最后作者_5205 or 元:作者_5204"> |
| <dc:creator> |
| <xsl:value-of select="元:最后作者_5205"/> |
| <xsl:value-of select="元:作者_5204"/> |
| </dc:creator> |
| </xsl:if> |
| <dc:date> |
| <xsl:value-of select="current-dateTime()"/> |
| </dc:date> |
| <!--背景音乐信息存放在第二个dc:description元素中--> |
| <xsl:if test="元:摘要_5206"> |
| <dc:description> |
| <xsl:value-of select="元:摘要_5206"/> |
| </dc:description> |
| <xsl:if test="/uof:UOF_0000/uof:演示文稿/演:公用处理规则/演:放映设置/演:声音"> |
| <dc:description>backgroudvoice</dc:description> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="not(元:摘要_5206) and /uof:UOF_0000/uof:演示文稿/演:公用处理规则/演:放映设置/演:声音"> |
| <dc:description/> |
| <dc:description>backgroudvoice</dc:description> |
| </xsl:if> |
| <xsl:if test="元:创建日期_5207"> |
| <meta:creation-date> |
| <xsl:value-of select="元:创建日期_5207"/> |
| </meta:creation-date> |
| </xsl:if> |
| <xsl:if test="元:编辑次数_5208"> |
| <meta:editing-cycles> |
| <xsl:value-of select="元:编辑次数_5208"/> |
| </meta:editing-cycles> |
| </xsl:if> |
| <dc:date> |
| <xsl:value-of select="current-date()"/> |
| </dc:date> |
| <xsl:if test="元:编辑时间_5209"> |
| <meta:editing-duration> |
| <xsl:choose> |
| <xsl:when test="contains(元:编辑时间_5209,'P0Y0')"> |
| <xsl:variable name="hour" select="substring-after(substring-before(元:编辑时间_5209,'H'),'T')"/> |
| <xsl:variable name="minute" select="substring-before(substring-after(元:编辑时间_5209,'H'),'M')"/> |
| <xsl:variable name="second" select="substring-after(substring-after(substring-before(元:编辑时间_5209,'S'),'H'),'M')"/> |
| <xsl:value-of select="concat('PT',$hour,'H',$minute,'M',$second,'S')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="元:编辑时间_5209"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </meta:editing-duration> |
| </xsl:if> |
| <xsl:variable name="ODFMetricUnit"> |
| <xsl:call-template name="GetODFMetric"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="元:创建应用程序_520A"> |
| <meta:generator> |
| <xsl:value-of select="concat(元:创建应用程序_520A, $ODFMetricUnit)"/> |
| </meta:generator> |
| </xsl:when> |
| <xsl:otherwise> |
| <meta:generator> |
| <xsl:value-of select="concat('NeoShineOffice-Build', $ODFMetricUnit)"/> |
| </meta:generator> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="元:文档模板_520C"> |
| <meta:template xlink:type="simple" xlink:actuate="onRequest"> |
| <xsl:attribute name="xlink:title"><xsl:value-of select="元:文档模板_520C"/></xsl:attribute> |
| </meta:template> |
| </xsl:if> |
| <xsl:if test="元:关键字集_520D"> |
| <xsl:for-each select="元:关键字集_520D/元:关键字_520E"> |
| <meta:keyword> |
| <xsl:value-of select="."/> |
| </meta:keyword> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:if test="元:分类_520B"> |
| <dc:category> |
| <xsl:value-of select="元:分类_520B"/> |
| </dc:category> |
| </xsl:if> |
| <xsl:if test="元:公司名称_5213"> |
| <dc:company> |
| <xsl:value-of select="元:公司名称_5213"/> |
| </dc:company> |
| </xsl:if> |
| <xsl:if test="元:经理名称_5214"> |
| <dc:manager> |
| <xsl:value-of select="元:经理名称_5214"/> |
| </dc:manager> |
| </xsl:if> |
| <meta:document-statistic> |
| <xsl:if test="元:页数_5215"> |
| <xsl:attribute name="meta:page-count"><xsl:value-of select="元:页数_5215"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="元:段落数_521A"> |
| <xsl:attribute name="meta:paragraph-count"><xsl:value-of select="元:段落数_521A"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="元:字数_5216"> |
| <xsl:attribute name="meta:word-count"><xsl:value-of select="元:字数_5216"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="元:对象数_521B"> |
| <xsl:attribute name="meta:object-count"><xsl:value-of select="元:对象数_521B"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="元:行数_5219"> |
| <xsl:attribute name="meta:row-count"><xsl:value-of select="元:行数_5219"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="元:英文字符数_5217 | 元:中文字符数_5218"> |
| <xsl:attribute name="meta:character-count"><xsl:value-of select="元:英文字符数_5217 + 元:中文字符数_5218"/></xsl:attribute> |
| </xsl:if> |
| </meta:document-statistic> |
| <xsl:if test="元:用户自定义元数据集_520F"> |
| <xsl:for-each select="元:用户自定义元数据集_520F/元:用户自定义元数据_5210"> |
| <meta:user-defined meta:name="{@名称_5211}"> |
| <xsl:if test="@类型_5212"> |
| <xsl:attribute name="meta:type"><xsl:value-of select="@类型_5212"/></xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="."/> |
| </meta:user-defined> |
| </xsl:for-each> |
| <xsl:if test="元:作者_5204"> |
| <meta:user-defined meta:name="作者"> |
| <xsl:if test="@类型_5212"> |
| <xsl:attribute name="meta:type"><xsl:value-of select="元:作者_5204"/></xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="元:作者_5204"/> |
| </meta:user-defined> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$isRCCellAddress = 'true'"> |
| <meta:user-defined meta:name="isRCCellAddress">true</meta:user-defined> |
| </xsl:if> |
| </office:meta> |
| </xsl:template> |
| <xsl:template name="UOFFonts"> |
| <xsl:variable name="ss">'</xsl:variable> |
| <xsl:for-each select="式样:字体声明_990D"> |
| <xsl:element name="style:font-face"> |
| <xsl:for-each select="@*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='标识符_9902'"> |
| <xsl:attribute name="style:name"><xsl:value-of select="."/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="name(.)='名称_9903'"> |
| <xsl:attribute name="svg:font-family"><xsl:choose><xsl:when test="contains(.,' ')"><xsl:value-of select="concat($ss,.,$ss)"/></xsl:when><xsl:otherwise><xsl:value-of select="."/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="name(.)='式样:字体族_9900'"> |
| <xsl:choose> |
| <xsl:when test="string(.) = 'swiss'"> |
| <xsl:attribute name="style:font-family-generic">swiss</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = 'modern'"> |
| <xsl:attribute name="style:font-family-generic">modern</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = 'roman'"> |
| <xsl:attribute name="style:font-family-generic">roman</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = 'script'"> |
| <xsl:attribute name="style:font-family-generic">script</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = 'decorative'"> |
| <xsl:attribute name="style:font-family-generic">decorative</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = 'auto'"> |
| <xsl:attribute name="style:font-family-generic">system</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:font-family-generic">system</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <!--xsl:when test="name(.)='替换字体_9904'"> |
| </xsl:when--> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="convertOthers2cm"> |
| <xsl:param name="value"/> |
| <xsl:param name="rounding-factor" select="10000"/> |
| <xsl:param name="dpi" select="111"/> |
| <xsl:param name="centimeter-in-mm" select="10"/> |
| <xsl:param name="inch-in-mm" select="25.4"/> |
| <xsl:param name="didot-point-in-mm" select="0.376065"/> |
| <xsl:param name="pica-in-mm" select="4.2333333"/> |
| <xsl:param name="point-in-mm" select="0.3527778"/> |
| <xsl:param name="twip-in-mm" select="0.017636684"/> |
| <xsl:param name="pixel-in-mm" select="$inch-in-mm div $dpi"/> |
| <xsl:choose> |
| <xsl:when test="contains($value, 'mm')"> |
| <xsl:value-of select="round(number($rounding-factor) * number(substring-before($value, 'mm') div number($centimeter-in-mm))) div number($rounding-factor)"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'in')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'in') div $centimeter-in-mm * $inch-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'pt')"> |
| <xsl:value-of select="round(number($rounding-factor) * number(substring-before($value, 'pt')) div number($centimeter-in-mm) * number($point-in-mm)) div number($rounding-factor)"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'dpt')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'dpt') div $centimeter-in-mm * $didot-point-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'pica')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pica') div $centimeter-in-mm * $pica-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'twip')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'twip') div $centimeter-in-mm * $twip-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'px')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') div $centimeter-in-mm * $pixel-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-before($value, 'cm')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="convert2cm"> |
| <xsl:param name="value"/> |
| <xsl:param name="rounding-factor" select="10000"/> |
| <xsl:param name="dpi" select="111"/> |
| <xsl:param name="centimeter-in-mm" select="10"/> |
| <xsl:param name="inch-in-mm" select="25.4"/> |
| <xsl:param name="didot-point-in-mm" select="0.376065"/> |
| <xsl:param name="pica-in-mm" select="4.2333333"/> |
| <xsl:param name="point-in-mm" select="0.3527778"/> |
| <xsl:param name="twip-in-mm" select="0.017636684"/> |
| <xsl:param name="pixel-in-mm" select="$inch-in-mm div $dpi"/> |
| <xsl:choose> |
| <xsl:when test="contains($value, 'mm')"> |
| <xsl:value-of select="round(number($rounding-factor) * number(substring-before($value, 'mm') div number($centimeter-in-mm))) div number($rounding-factor)"/> |
| </xsl:when> |
| <xsl:when test="contains($value, $uofUnit)"> |
| <xsl:value-of select="substring-before($value, $uofUnit)"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'in')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'in') div $centimeter-in-mm * $inch-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'pt')"> |
| <xsl:value-of select="round(number($rounding-factor) * number(substring-before($value, 'pt')) div number($centimeter-in-mm) * number($point-in-mm)) div number($rounding-factor)"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'dpt')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'dpt') div $centimeter-in-mm * $didot-point-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'pica')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'pica') div $centimeter-in-mm * $pica-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'twip')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'twip') div $centimeter-in-mm * $twip-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:when test="contains($value, 'px')"> |
| <xsl:value-of select="round($rounding-factor * number(substring-before($value, 'px') div $centimeter-in-mm * $pixel-in-mm)) div $rounding-factor"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:message>measure_conversion.xsl: Find no conversion for <xsl:value-of select="$value"/> to 'cm'!</xsl:message> |
| <xsl:value-of select="$value"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="UOFCommBorder"> |
| <xsl:param name="lineType"/> |
| <xsl:param name="width"/> |
| <xsl:param name="color"/> |
| <xsl:choose> |
| <xsl:when test="$lineType='none' or $lineType = ' '">none</xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="substring-before($width,$uofUnit) != ''"> |
| <xsl:value-of select="$width"/> |
| </xsl:when> |
| <xsl:otherwise>0.5pt </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$lineType='double' or $lineType='thin-thick' or $lineType='thick-thin' or $lineType='thick-between-thin'">double </xsl:when> |
| <xsl:otherwise>solid </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$color='auto' or $color='none' or $color=''">#808080</xsl:when> |
| <xsl:when test="$color!=''"> |
| <xsl:value-of select="$color"/> |
| </xsl:when> |
| <xsl:otherwise>#000000</xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="BorderLineWidth"> |
| <xsl:param name="aType"/> |
| <xsl:param name="aSize"/> |
| <xsl:choose> |
| <!-- alert starting |
| <xsl:when test="$aType = 'double' or $aType = 'thick-between-thin'"> |
| <xsl:variable name="widths" select="number($aSize) div 3"/> |
| <xsl:value-of select="concat(format-number($widths, '#.000'), $uofUnit, ' ', format-number($widths, '#.000'), $uofUnit, ' ', format-number($widths, '#.000'), $uofUnit)"/> |
| </xsl:when>--> |
| <xsl:when test="$aType = 'double'"> |
| <xsl:value-of select="concat(format-number(number($aSize) * 0.01, '#.000'), $uofUnit, ' ', format-number(number($aSize) * 0.75, '#.000'), $uofUnit, ' ', format-number(number($aSize) * 0.24, '#.000'), $uofUnit)"/> |
| </xsl:when> |
| <xsl:when test="$aType = 'thick-between-thin'"> |
| <xsl:variable name="widths" select="number($aSize) div 3"/> |
| <xsl:value-of select="concat(format-number($widths, '#.000'), $uofUnit, ' ', format-number($widths, '#.000'), $uofUnit, ' ', format-number($widths, '#.000'), $uofUnit)"/> |
| </xsl:when> |
| <!-- alert ending. --> |
| <xsl:when test="$aType = 'thick-thin'"> |
| <xsl:value-of select="concat(format-number(number($aSize) * 0.5, '#.000'), $uofUnit, ' ', format-number(number($aSize) * 0.4, '#.000'), $uofUnit, ' ', format-number(number($aSize) * 0.1, '#.000'), $uofUnit)"/> |
| </xsl:when> |
| <xsl:when test="$aType = 'thin-thick'"> |
| <xsl:value-of select="concat(format-number(number($aSize) * 0.1, '#.000'), $uofUnit, ' ', format-number(number($aSize) * 0.4, '#.000'), $uofUnit, ' ', format-number(number($aSize) * 0.5, '#.000'), $uofUnit)"/> |
| </xsl:when> |
| <!--<xsl:when test="$aType = 'thick-between-thin'"> |
| <xsl:value-of select="concat(format-number(number($aSize) * 0.44, '#.000'), $uofUnit, ' ', format-number(number($aSize) * 0.28, '#.000'), $uofUnit, ' ', format-number(number($aSize) * 0.28, '#.000'), $uofUnit)"/> |
| </xsl:when>--> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="CommonBorder"> |
| <xsl:param name="pUp"/> |
| <xsl:param name="pDown"/> |
| <xsl:param name="pLeft"/> |
| <xsl:param name="pRight"/> |
| <xsl:param name="pDiagon1"/> |
| <xsl:param name="pDiagon2"/> |
| <xsl:if test="$pUp"> |
| <!-- |
| <xsl:variable name="type" select="$pUp/@uof:线型"/>--> |
| <xsl:variable name="type"> |
| <xsl:choose> |
| <xsl:when test="$pUp/@线型_C60D"> |
| <xsl:value-of select="$pUp/@线型_C60D"/> |
| </xsl:when> |
| <!--xsl:when test="$pUp/@uof:类型"> |
| <xsl:value-of select="$pUp/@uof:类型"/> |
| </xsl:when--> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="size" select="concat($pUp/@宽度_C60F,$uofUnit,' ')"/> |
| <xsl:variable name="clr" select="$pUp/@颜色_C611"/> |
| <!-- alert staring |
| <xsl:attribute name="fo:padding-top"><xsl:value-of select="concat(string($pUp/@边距_C610),$uofUnit)"/></xsl:attribute>--> |
| <xsl:if test="$pUp/@边距_C610"> |
| <xsl:attribute name="fo:padding-top"><xsl:value-of select="concat(string($pUp/@边距_C610),$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <!-- alert ending. --> |
| <xsl:attribute name="fo:border-top"><xsl:call-template name="UOFCommBorder"><xsl:with-param name="lineType" select="$type"/><xsl:with-param name="width" select="$size"/><xsl:with-param name="color" select="$clr"/></xsl:call-template></xsl:attribute> |
| <xsl:if test="$type != 'none' and $type != 'single'"> |
| <xsl:attribute name="style:border-line-width-top"><xsl:call-template name="BorderLineWidth"><xsl:with-param name="aType" select="$type"/><xsl:with-param name="aSize" select="$pUp/@宽度_C60F"/></xsl:call-template></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$pDown"> |
| <xsl:variable name="type"> |
| <xsl:choose> |
| <xsl:when test="$pDown/@线型_C60D"> |
| <xsl:value-of select="$pDown/@线型_C60D"/> |
| </xsl:when> |
| <!--xsl:when test="$pDown/@uof:类型"> |
| <xsl:value-of select="$pDown/@uof:类型"/> |
| </xsl:when--> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="size" select="concat(normalize-space(string($pDown/@宽度_C60F)),$uofUnit,' ')"/> |
| <xsl:variable name="clr" select="$pDown/@颜色_C611"/> |
| <xsl:attribute name="fo:padding-bottom"><xsl:value-of select="concat(string($pDown/@边距_C610),$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:border-bottom"><xsl:call-template name="UOFCommBorder"><xsl:with-param name="lineType" select="$type"/><xsl:with-param name="width" select="$size"/><xsl:with-param name="color" select="$clr"/></xsl:call-template></xsl:attribute> |
| <xsl:if test="$type != 'none' and $type != 'single'"> |
| <xsl:attribute name="style:border-line-width-bottom"><xsl:call-template name="BorderLineWidth"><xsl:with-param name="aType" select="$type"/><xsl:with-param name="aSize" select="$pDown/@宽度_C60F"/></xsl:call-template></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$pLeft"> |
| <xsl:variable name="type"> |
| <xsl:choose> |
| <xsl:when test="$pLeft/@线型_C60D"> |
| <xsl:value-of select="$pLeft/@线型_C60D"/> |
| </xsl:when> |
| <!--xsl:when test="$pLeft/@uof:类型"> |
| <xsl:value-of select="$pLeft/@uof:类型"/> |
| </xsl:when--> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="size" select="concat($pLeft/@宽度_C60F,$uofUnit,' ')"/> |
| <xsl:variable name="clr" select="$pLeft/@颜色_C611"/> |
| <xsl:attribute name="fo:padding-left"><xsl:value-of select="concat(string($pLeft/@边距_C610),$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:border-left"><xsl:call-template name="UOFCommBorder"><xsl:with-param name="lineType" select="$type"/><xsl:with-param name="width" select="$size"/><xsl:with-param name="color" select="$clr"/></xsl:call-template></xsl:attribute> |
| <xsl:if test="$type != 'none' and $type != 'single'"> |
| <xsl:attribute name="style:border-line-width-left"><xsl:call-template name="BorderLineWidth"><xsl:with-param name="aType" select="$type"/><xsl:with-param name="aSize" select="$pLeft/@宽度_C60F"/></xsl:call-template></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$pRight"> |
| <xsl:variable name="type"> |
| <xsl:choose> |
| <xsl:when test="$pRight/@线型_C60D"> |
| <xsl:value-of select="$pRight/@线型_C60D"/> |
| </xsl:when> |
| <!--xsl:when test="$pRight/@uof:类型"> |
| <xsl:value-of select="$pRight/@uof:类型"/> |
| </xsl:when--> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="size" select="concat($pRight/@宽度_C60F,$uofUnit,' ')"/> |
| <xsl:variable name="clr" select="$pRight/@颜色_C611"/> |
| <xsl:attribute name="fo:padding-right"><xsl:value-of select="concat(string($pRight/@边距_C610),$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:border-right"><xsl:call-template name="UOFCommBorder"><xsl:with-param name="lineType" select="$type"/><xsl:with-param name="width" select="$size"/><xsl:with-param name="color" select="$clr"/></xsl:call-template></xsl:attribute> |
| <xsl:if test="$type != 'none' and $type != 'single'"> |
| <xsl:attribute name="style:border-line-width-right"><xsl:call-template name="BorderLineWidth"><xsl:with-param name="aType" select="$type"/><xsl:with-param name="aSize" select="$pRight/@宽度_C60F"/></xsl:call-template></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$pDiagon1"> |
| <xsl:variable name="type"> |
| <xsl:choose> |
| <xsl:when test="$pDiagon1/@线型_C60D"> |
| <xsl:value-of select="$pDiagon1/@线型_C60D"/> |
| </xsl:when> |
| <!--xsl:when test="$pDiagon1/@uof:类型"> |
| <xsl:value-of select="$pDiagon1/@uof:类型"/> |
| </xsl:when--> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="size" select="concat($pDiagon1/@宽度_C60F,$uofUnit,' ')"/> |
| <xsl:variable name="clr" select="$pDiagon1/@颜色_C611"/> |
| <xsl:attribute name="style:diagonal-tl-br"><xsl:call-template name="UOFCommBorder"><xsl:with-param name="lineType" select="$type"/><xsl:with-param name="width" select="$size"/><xsl:with-param name="color" select="$clr"/></xsl:call-template></xsl:attribute> |
| <xsl:if test="$type != 'none' and $type != 'single'"> |
| <xsl:attribute name="style:diagonal-tl-br-width"><xsl:call-template name="BorderLineWidth"><xsl:with-param name="aType" select="$type"/><xsl:with-param name="aSize" select="$pDiagon1/@宽度_C60F"/></xsl:call-template></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$pDiagon2"> |
| <xsl:variable name="type"> |
| <xsl:choose> |
| <xsl:when test="$pDiagon2/@线型_C60D"> |
| <xsl:value-of select="$pDiagon2/@线型_C60D"/> |
| </xsl:when> |
| <!--xsl:when test="$pDiagon2/@uof:类型"> |
| <xsl:value-of select="$pDiagon2/@uof:类型"/> |
| </xsl:when--> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="size" select="concat($pDiagon2/@宽度_C60F,$uofUnit,' ')"/> |
| <xsl:variable name="clr" select="$pDiagon2/@颜色_C611"/> |
| <xsl:attribute name="style:diagonal-bl-tr"><xsl:call-template name="UOFCommBorder"><xsl:with-param name="lineType" select="$type"/><xsl:with-param name="width" select="$size"/><xsl:with-param name="color" select="$clr"/></xsl:call-template></xsl:attribute> |
| <xsl:if test="$type != 'none' and $type != 'single'"> |
| <xsl:attribute name="style:diagonal-bl-tr-width"><xsl:call-template name="BorderLineWidth"><xsl:with-param name="aType" select="$type"/><xsl:with-param name="aSize" select="$pDiagon2/@宽度_C60F"/></xsl:call-template></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <!--兼容错误案例,案例将字符串'true'写为'ture'--> |
| <xsl:if test="$pUp/@是否加阴影_C612='true'or $pUp/@是否加阴影_C612='1'"> |
| <xsl:if test="$pLeft/@是否加阴影_C612='true'or $pLeft/@是否加阴影_C612='1' or $pLeft/@是否加阴影_C612='ture'"> |
| <xsl:attribute name="style:shadow">#808080 -0.18cm -0.18cm</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$pUp/@是否加阴影_C612='true'or $pUp/@是否加阴影_C612='1' or $pUp/@是否加阴影_C612='ture'"> |
| <xsl:if test="$pRight/@是否加阴影_C612='true'or $pRight/@是否加阴影_C612='1' or $pRight/@是否加阴影_C612='ture'"> |
| <xsl:attribute name="style:shadow">#808080 0.18cm -0.18cm</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$pDown/@是否加阴影_C612='true'or $pDown/@是否加阴影_C612='1' or $pDown/@是否加阴影_C612='ture'"> |
| <xsl:if test="$pLeft/@是否加阴影_C612='true'or $pLeft/@是否加阴影_C612='1' or $pLeft/@是否加阴影_C612='ture'"> |
| <xsl:attribute name="style:shadow">#808080 -0.18cm 0.18cm</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$pDown/@是否加阴影_C612='true'or $pDown/@是否加阴影_C612='1' or $pDown/@是否加阴影_C612='ture'"> |
| <xsl:if test="$pRight/@是否加阴影_C612='true'or $pRight/@是否加阴影_C612='1' or $pRight/@是否加阴影_C612='ture'"> |
| <xsl:attribute name="style:shadow">#808080 0.18cm 0.18cm</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="CommonFillAttr"> |
| <xsl:choose> |
| <xsl:when test="图:颜色_8004"> |
| <xsl:attribute name="fo:background-color"><xsl:value-of select="string(图:颜色_8004)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="图:图片_8005"> |
| <xsl:attribute name="fo:background-color"><xsl:value-of select="string('transprent')"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="CommonFillElement"> |
| <xsl:choose> |
| <xsl:when test="图:图案_800A"> |
| <style:background-image> |
| <xsl:for-each select="图:图案_800A"> |
| <xsl:call-template name="BinaryData"/> |
| </xsl:for-each> |
| </style:background-image> |
| </xsl:when> |
| <xsl:when test="图:渐变_800D"> |
| <xsl:element name="style:background-gradient"> |
| <xsl:attribute name="draw:name">Background-Gradient</xsl:attribute> |
| <xsl:attribute name="draw:style"><xsl:choose><xsl:when test="图:渐变_800D/@种子类型_8010='linear'"><xsl:value-of select="'linear'"/></xsl:when><xsl:when test="图:渐变_800D/@种子类型_8010='radar'"><xsl:value-of select="'radial'"/></xsl:when><xsl:when test="图:渐变_800D/@种子类型_8010='oval'"><xsl:value-of select="'ellipsoid'"/></xsl:when><xsl:when test="图:渐变_800D/@种子类型_8010='square'"><xsl:value-of select="'square'"/></xsl:when><xsl:when test="图:渐变_800D/@种子类型_8010='rectangle'"><xsl:value-of select="'rectangular'"/></xsl:when></xsl:choose></xsl:attribute> |
| <xsl:attribute name="draw:start-color"><xsl:value-of select="图:渐变_800D/@起始色_800E"/></xsl:attribute> |
| <xsl:attribute name="draw:end-color"><xsl:value-of select="图:渐变_800D/@终止色_800F"/></xsl:attribute> |
| <xsl:attribute name="draw:start-intensity"><xsl:value-of select="concat(图:渐变_800D/@起始浓度_8011,'%')"/></xsl:attribute> |
| <xsl:attribute name="draw:end-intensity"><xsl:value-of select="concat(图:渐变_800D/@终止浓度_8012,'%')"/></xsl:attribute> |
| <xsl:attribute name="draw:angle"><xsl:value-of select="number(图:渐变_800D/@渐变方向_8013) * 10"/></xsl:attribute> |
| <xsl:attribute name="draw:border"><xsl:value-of select="concat(图:渐变_800D/@边界_8014,'%')"/></xsl:attribute> |
| <xsl:if test="图:渐变_800D/@种子X位置_8015"> |
| <xsl:attribute name="draw:cx"><xsl:value-of select="concat(图:渐变_800D/@种子X位置_8015,'%')"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:渐变_800D/@种子Y位置_8016"> |
| <xsl:attribute name="draw:cy"><xsl:value-of select="concat(图:渐变_800D/@种子Y位置_8016,'%')"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="图:图片_8005"> |
| <xsl:element name="style:background-image"> |
| <xsl:variable name="gid"> |
| <xsl:value-of select="图:图片_8005/@图形引用_8007"/> |
| </xsl:variable> |
| <xsl:if test="图:图片_8005/@位置_8006 and not(图:图片_8005/@位置_8006='tile')"> |
| <xsl:if test="图:图片_8005/@位置_8006='stretch'"> |
| <xsl:attribute name="style:repeat">stretch</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:图片_8005/@位置_8006='center'"> |
| <xsl:attribute name="style:position"><xsl:value-of select="'center'"/></xsl:attribute> |
| <xsl:attribute name="style:repeat">no-repeat</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <!--<xsl:choose> |
| <xsl:when test="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据集_D701[@uof:标识符=$gid]/对象:数据_D702"> |
| <xsl:element name="office:binary-data"> |
| <xsl:value-of select="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据集_D701[@uof:标识符=$gid]/对象:数据_D702"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据集_D701[@uof:标识符=$gid]/对象:路径_D703"/></xsl:attribute> |
| <xsl:attribute name="xlink:type">simple</xsl:attribute> |
| <xsl:attribute name="xlink:actuate">onLoad</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose>--> |
| <xsl:if test="图:图片_8005/@图形引用_8007"> |
| <xsl:choose> |
| <xsl:when test="key('other-styles',图:图片_8005/@图形引用_8007)/对象:路径_D703"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="concat('Pictures/',substring-after(key('other-styles',图:图片_8005/@图形引用_8007)/对象:路径_D703,'/'))"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="key('other-styles',图:图片_8005/@图形引用_8007)/对象:数据_D702"> |
| <xsl:element name="office:binary-data"> |
| <xsl:value-of select="key('other-styles',图:图片_8005/@图形引用_8007)/对象:数据_D702"/> |
| </xsl:element> |
| <!--<xsl:call-template name="BinaryGraphic"> |
| <xsl:with-param name="refGraphic" select="图:图片_8005/@图形引用_8007"/> |
| </xsl:call-template>--> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="CommonFill"> |
| <xsl:call-template name="CommonFillAttr"/> |
| <xsl:call-template name="CommonFillElement"/> |
| </xsl:template> |
| <!--<xsl:template name="FindMasterColorSetName"> |
| <xsl:for-each select=".."> |
| <xsl:choose> |
| <xsl:when test="name(.) = '演:幻灯片'"> |
| <xsl:variable name="mastername" select="@演:母版引用"/> |
| <xsl:value-of select="key('SlideMaster',$mastername)/@演:配色方案引用"/> |
| </xsl:when> |
| <xsl:when test="name(.) = '演:母版'"> |
| <xsl:value-of select="@演:配色方案引用"/> |
| </xsl:when> |
| <xsl:when test="name(.) = '演:主体'"> |
| <xsl:value-of select="'none'"/> |
| </xsl:when> |
| <xsl:when test="name(.) = 'uof:UOF_0000'"> |
| <xsl:value-of select="'none'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="FindMasterColorSetName"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template>--> |
| <xsl:template name="PresentationColorSet"> |
| <xsl:if test="$document_type = 'presentation'"> |
| <xsl:variable name="colorsetname"> |
| <xsl:for-each select="key('rel_graphic_name',../../../@标识符_804B)"> |
| <xsl:choose> |
| <xsl:when test="ancestor::演:幻灯片_6C0F"> |
| <xsl:variable name="mastername" select="ancestor::演:幻灯片_6C0F/@母版引用_6B26"/> |
| <xsl:value-of select="key('SlideMaster',$mastername)/@配色方案引用_6C12"/> |
| </xsl:when> |
| <xsl:when test="ancestor::演:母版_6C0D"> |
| <xsl:value-of select="ancestor::演:母版_6C0D/@配色方案引用_6C12"/> |
| </xsl:when> |
| <xsl:otherwise>none</xsl:otherwise> |
| </xsl:choose> |
| <!--<xsl:call-template name="FindMasterColorSetName"/>--> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="colorset" select="/uof:UOF_0000/演:演示文稿文档_6C10/演:母版集_6C0C/演:母版_6C0D/演:配色方案集/演:配色方案[@演:标识符 = $colorsetname]"/> |
| <xsl:if test="$colorset != ''"> |
| <xsl:choose> |
| <xsl:when test="name(.) = '图:填充'"> |
| <xsl:attribute name="draw:fill">solid</xsl:attribute> |
| <xsl:attribute name="draw:fill-color"><xsl:value-of select="$colorset/演:填充"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="name(.) = '演:背景'"> |
| <xsl:attribute name="draw:fill">solid</xsl:attribute> |
| <xsl:attribute name="draw:fill-color"><xsl:value-of select="$colorset/演:背景色"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="name(.) = '表:填充'"> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="FillGraph"> |
| <xsl:param name="par_DefaultColor" select="''"/> |
| <xsl:choose> |
| <xsl:when test="图:颜色_8004"> |
| <xsl:if test="图:颜色_8004 = 'auto'"> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:call-template name="PresentationColorSet"/> |
| </xsl:when> |
| <xsl:when test="$document_type = 'spreadsheet'"> |
| <xsl:if test="string($par_DefaultColor) != ''"> |
| <xsl:attribute name="draw:fill">solid</xsl:attribute> |
| <xsl:attribute name="draw:fill-color" select="$par_DefaultColor"/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:fill">solid</xsl:attribute> |
| <!--xsl:attribute name="draw:fill-color">#005998</xsl:attribute--> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="图:颜色_8004 != 'auto'"> |
| <xsl:attribute name="draw:fill">solid</xsl:attribute> |
| <xsl:attribute name="draw:fill-color"><xsl:value-of select="图:颜色_8004"/></xsl:attribute> |
| <xsl:attribute name="fo:background-color"><xsl:value-of select="图:颜色_8004"/></xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="图:图案_800A"> |
| <xsl:variable name="isprename"> |
| <xsl:variable name="prefix" select="substring(图:图案_800A/@类型_8008,1,4)"/> |
| <xsl:choose> |
| <xsl:when test="$prefix= 'ptn0'">true</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="false"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$isprename='true'"> |
| <xsl:variable name="hatchname"> |
| <xsl:choose> |
| <xsl:when test="图:图案_800A/@类型_8008 = 'ptn001' and 图:图案_800A/@前景色_800B = '#ff78bd'">ptn001_5f_ff78db</xsl:when> |
| <xsl:when test="图:图案_800A/@类型_8008 = 'ptn001' and 图:图案_800A/@前景色_800B = '#0000ff'">Bitmape_20_2</xsl:when> |
| <xsl:when test="图:图案_800A/@类型_8008 = 'ptn043' and 图:图案_800A/@前景色_800B = '#ffffff' and 图:图案_800A/@背景色_800C = '#ff0000'">ptn043_red</xsl:when> |
| <xsl:when test="图:图案_800A/@类型_8008 = 'ptn044' and 图:图案_800A/@前景色_800B = '#ffffff' and 图:图案_800A/@背景色_800C = '#ff0000'">ptn044_red</xsl:when> |
| <xsl:when test="substring('图:图案_800A/@类型_8008',1,4) = 'ptn0'">图:图案_800A/@类型_8008</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="图:图案_800A/@类型_8008"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:fill-image-name"><xsl:value-of select="$hatchname"/></xsl:attribute> |
| <xsl:attribute name="draw:fill">bitmap</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <!--<xsl:attribute name="draw:fill-hatch-name"><xsl:value-of select="图:图案_800A/@类型_8008"/></xsl:attribute> |
| <xsl:attribute name="draw:fill">hatch</xsl:attribute> |
| <xsl:attribute name="draw:fill-color"><xsl:value-of select="图:图案_800A/@背景色_800C"/></xsl:attribute> |
| <xsl:attribute name="draw:fill-hatch-solid"><xsl:choose><xsl:when test="图:图案_800A/@背景色_800C">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute>--> |
| <xsl:attribute name="draw:fill-image-name"><xsl:value-of select="'ptnwrong'"/></xsl:attribute> |
| <xsl:attribute name="draw:fill">bitmap</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="图:渐变_800D"> |
| <xsl:attribute name="draw:fill">gradient</xsl:attribute> |
| <xsl:attribute name="draw:fill-color"><xsl:value-of select="图:渐变_800D/@起始色_800E"/></xsl:attribute> |
| <!-- |
| <xsl:choose> |
| <xsl:when test="图:渐变_800D/@类型_8008"> |
| <xsl:attribute name="draw:fill-gradient-name"><xsl:value-of select="图:渐变_800D/@类型_8008"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:fill-gradient-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| --> |
| <xsl:attribute name="draw:fill-gradient-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="图:图片_8005"> |
| <xsl:attribute name="draw:fill">bitmap</xsl:attribute> |
| <xsl:attribute name="draw:fill-image-name"><xsl:value-of select="图:图片_8005/@图形引用_8007"/></xsl:attribute> |
| <xsl:if test="图:图片_8005/@位置_8006"> |
| <xsl:attribute name="style:repeat"><xsl:choose><xsl:when test="图:图片_8005/@位置_8006='center'">no-repeat</xsl:when><xsl:when test="图:图片_8005/@位置_8006='stretch'">stretch</xsl:when><xsl:otherwise>repeat</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:fill">none</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <!--xsl:template name="IsPrecedeType"> |
| <xsl:param name="nodename"/> |
| <xsl:param name="pos"/> |
| <xsl:for-each select="preceding-sibling::node()[1]"> |
| <xsl:choose> |
| <xsl:when test="self::node()[name(.) = $nodename] and 字:节属性/字:节类型 != 'continuous'"> |
| <xsl:value-of select="$pos+1"/> |
| </xsl:when> |
| <xsl:when test="self::*[name(.)='']"> |
| <xsl:call-template name="IsPrecedeType"> |
| <xsl:with-param name="nodename" select="$nodename"/> |
| <xsl:with-param name="pos" select="$pos+1"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number('0')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template--> |
| <xsl:template name="NumberFormat"> |
| <xsl:param name="oo_format"/> |
| <xsl:choose> |
| <xsl:when test="$oo_format='upper-roman'">I</xsl:when> |
| <xsl:when test="$oo_format='lower-roman'">i</xsl:when> |
| <xsl:when test="$oo_format='upper-letter'">A</xsl:when> |
| <xsl:when test="$oo_format='lower-letter'">a</xsl:when> |
| <xsl:when test="$oo_format='decimal-full-width' or $oo_format='decimal-enclosed-fullstop'">1, 2, 3, ...</xsl:when> |
| <xsl:when test="$oo_format='decimal-enclosed-circle'">①, ②, ③, ...</xsl:when> |
| <xsl:when test="$oo_format='chinese-counting'">一, 二, 三, ...</xsl:when> |
| <xsl:when test="$oo_format='chinese-legal-simplified'">壹, 贰, 叁, ...</xsl:when> |
| <xsl:when test="$oo_format='ideograph-traditional'">甲, 乙, 丙, ...</xsl:when> |
| <xsl:when test="$oo_format='ideograph-zodiac'">子, 丑, 寅, ...</xsl:when> |
| <xsl:when test="$oo_format='ordinal'">1st</xsl:when> |
| <xsl:when test="$oo_format='cardinal-text'">one</xsl:when> |
| <xsl:when test="$oo_format='ordinal-text'">first</xsl:when> |
| <xsl:when test="$oo_format='decimal-enclosed-circle-chinese'">①, ②, ③, ...</xsl:when> |
| <xsl:when test="$oo_format='ideograph-enclosed-circle'">㈠, ㈡, ㈢, ...</xsl:when> |
| <!--otherwise中包含decimal,decimal-enclosed-paren--> |
| <xsl:otherwise>1</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="NumStyleElementAttribute"> |
| <xsl:param name="number-format-code"/> |
| <xsl:if test="contains($number-format-code,'[hh]')"> |
| <xsl:attribute name="number:truncate-on-overflow">false</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum1]')"> |
| <xsl:attribute name="number:transliteration-format">一</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">short</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum2]')"> |
| <xsl:attribute name="number:transliteration-format">壹</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">short</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum3]')"> |
| <xsl:attribute name="number:transliteration-format">1</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">short</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum4]')"> |
| <xsl:attribute name="number:transliteration-format">一</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">long</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum5]')"> |
| <xsl:attribute name="number:transliteration-format">壹</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">long</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum6]')"> |
| <xsl:attribute name="number:transliteration-format">1</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">long</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum7]')"> |
| <xsl:attribute name="number:transliteration-format">一</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">medium</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum8]')"> |
| <xsl:attribute name="number:transliteration-format">壹</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">medium</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[natnum0]')"> |
| <xsl:attribute name="number:transliteration-format">1</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">short</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[dbnum1]')"> |
| <xsl:attribute name="number:transliteration-format">一</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">long</xsl:attribute> |
| <xsl:attribute name="number:transliteration-language">zh</xsl:attribute> |
| <xsl:attribute name="number:transliteration-country">CN</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="starts-with($number-format-code,'[dbnum2]')"> |
| <xsl:attribute name="number:transliteration-format">壹</xsl:attribute> |
| <xsl:attribute name="number:transliteration-style">long</xsl:attribute> |
| <xsl:attribute name="number:transliteration-language">zh</xsl:attribute> |
| <xsl:attribute name="number:transliteration-country">CN</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="contains($number-format-code,'[$-804]')"> |
| <xsl:attribute name="number:transliteration-language">zh</xsl:attribute> |
| <xsl:attribute name="number:transliteration-country">CN</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="contains($number-format-code,'上午/下午')"> |
| <xsl:attribute name="number:language">zh</xsl:attribute> |
| <xsl:attribute name="number:country">CN</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="contains($number-format-code,'am/pm')"> |
| <xsl:attribute name="number:language">en</xsl:attribute> |
| <xsl:attribute name="number:country">US</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="StyleMap"> |
| <xsl:param name="number-format-name"/> |
| <xsl:param name="number-format-code"/> |
| <xsl:param name="style-id"/> |
| <xsl:param name="total-unit"/> |
| <xsl:param name="current-unit"/> |
| <xsl:if test="$current-unit < ($total-unit -1)"> |
| <xsl:variable name="stylecondition"> |
| <xsl:choose> |
| <xsl:when test="$total-unit >= 3"> |
| <xsl:if test="$current-unit = 0"> |
| <xsl:value-of select="'value()>0'"/> |
| </xsl:if> |
| <xsl:if test="$current-unit = 1"> |
| <xsl:value-of select="'value()<0'"/> |
| </xsl:if> |
| <xsl:if test="$current-unit = 2"> |
| <xsl:value-of select="'value()=0'"/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="$total-unit = 2"> |
| <xsl:value-of select="'value()>=0'"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <style:map style:condition="{$stylecondition}" style:apply-style-name="{concat( $style-id, 'P',$current-unit)}"/> |
| <xsl:call-template name="StyleMap"> |
| <xsl:with-param name="number-format-name" select="$number-format-name"/> |
| <xsl:with-param name="number-format-code" select="substring-after($number-format-code,';')"/> |
| <xsl:with-param name="style-id" select="$style-id"/> |
| <xsl:with-param name="total-unit" select="$total-unit"/> |
| <xsl:with-param name="current-unit" select="$current-unit +1"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="DecimalIntExponentFraction"> |
| <xsl:param name="digits-part"/> |
| <xsl:variable name="decimal-digits"> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,'.')"> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,' ') and not(contains($digits-part,'_'))"> |
| <xsl:value-of select="string-length(substring-before(substring-after($digits-part,'.'),' '))"/> |
| </xsl:when> |
| <xsl:when test="contains(substring-after($digits-part,'.'),',')"> |
| <xsl:value-of select="string-length(substring-before(substring-after($digits-part,'.'),','))"/> |
| </xsl:when> |
| <xsl:when test="contains($digits-part,'e')"> |
| <xsl:value-of select="string-length(substring-before(substring-after($digits-part,'.'),'e'))"/> |
| </xsl:when> |
| <xsl:when test="contains(substring-after($digits-part,'.'),'_')"> |
| <xsl:value-of select="string-length(substring-before(substring-after($digits-part,'.'),'_'))"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,'%')"> |
| <xsl:value-of select="string-length(substring-after($digits-part,'.')) - 1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="string-length(substring-after($digits-part,'.'))"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="decimal-replacement"> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,'.')"> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,' ') and contains(substring-before(substring-after($digits-part,'.'),' '),'#')">true</xsl:when> |
| <xsl:when test="contains($digits-part,'e') and contains(substring-before(substring-after($digits-part,'.'),'e'),'#')">true</xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="contains(substring-after($digits-part,'.'),'#')">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="integer-digits"> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,'.')"> |
| <xsl:value-of select="string-length(substring-before($digits-part,'.')) - string-length(translate(substring-before($digits-part,'.'),'0',''))"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="string-length($digits-part) - string-length(translate($digits-part,'0',''))"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="factor-digits"> |
| <xsl:call-template name="DisplayFactorDigits"> |
| <xsl:with-param name="digits-part" select="$digits-part"/> |
| <xsl:with-param name="count" select="0"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="grouping"> |
| <xsl:choose> |
| <xsl:when test="(string-length($digits-part) - string-length(translate($digits-part,',',''))) >$factor-digits">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="exponent-digits"> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,'e')"> |
| <xsl:value-of select="string-length(substring-after($digits-part,'e')) -1"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="numerator-digits"> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,' ')"> |
| <xsl:value-of select="string-length(substring-before(substring-after($digits-part,' '),'/'))"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="denominator-digits"> |
| <xsl:choose> |
| <xsl:when test="contains($digits-part,' ')"> |
| <xsl:value-of select="string-length(substring-after(substring-after($digits-part,' '),'/'))"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="number-type"> |
| <xsl:choose> |
| <xsl:when test="$exponent-digits >0">number:scientific-number</xsl:when> |
| <xsl:when test="($numerator-digits >0) or ($denominator-digits >0)">number:fraction</xsl:when> |
| <xsl:otherwise>number:number</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:element name="{$number-type}"> |
| <xsl:if test="$decimal-digits >=0"> |
| <xsl:attribute name="number:decimal-places"><xsl:value-of select="$decimal-digits"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$decimal-replacement='true'"> |
| <xsl:attribute name="number:decimal-replacement"/> |
| </xsl:if> |
| <xsl:if test="$integer-digits >=0"> |
| <xsl:attribute name="number:min-integer-digits"><xsl:value-of select="$integer-digits"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$grouping='true'"> |
| <xsl:attribute name="number:grouping"><xsl:value-of select="$grouping"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$factor-digits >0"> |
| <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> |
| </xsl:if> |
| <xsl:if test="$exponent-digits >0"> |
| <xsl:attribute name="number:min-exponent-digits"><xsl:value-of select="$exponent-digits"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$numerator-digits >0"> |
| <xsl:attribute name="number:min-numerator-digits"><xsl:value-of select="$numerator-digits"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$denominator-digits >0"> |
| <xsl:attribute name="number:min-denominator-digits"><xsl:value-of select="$denominator-digits"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="DisplayFactorDigits"> |
| <xsl:param name="digits-part"/> |
| <xsl:param name="count"/> |
| <xsl:choose> |
| <xsl:when test="not(substring($digits-part,string-length($digits-part),1) =',')"> |
| <xsl:value-of select="$count"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="DisplayFactorDigits"> |
| <xsl:with-param name="digits-part" select="substring($digits-part,1,string-length($digits-part) -1)"/> |
| <xsl:with-param name="count" select="$count + 1"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="GeneralNumberStyle"> |
| <xsl:param name="number-format-code"/> |
| <xsl:param name="month-minute"/> |
| <!--xsl:choose--> |
| <xsl:if test="string-length($number-format-code) != 0"> |
| <xsl:choose> |
| <xsl:when test="starts-with($number-format-code,'[')"> |
| <xsl:call-template name="ProcessSquareBracket"> |
| <xsl:with-param name="number-format-code" select="substring($number-format-code,2)"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'g/通用格式') or starts-with($number-format-code,'general')"> |
| <number:number number:min-integer-digits="1" number:decimal-places="6" number:decimal-replacement=""/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'"')"> |
| <number:text> |
| <xsl:value-of select="substring-before(substring-after($number-format-code,'"'),'"')"/> |
| </number:text> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'@')"> |
| <number:text-content/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'yyyy')"> |
| <number:year number:style="long"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'yy')"> |
| <number:year number:style="short"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'kkkkro')"> |
| <number:year number:style="rolong"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'mmmm')"> |
| <number:month number:style="long" number:textual="true"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'mmm')"> |
| <number:month number:style="rolong" number:textual="true"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'mro')"> |
| <number:month number:style="rolong" number:textual="true"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'mm')"> |
| <xsl:choose> |
| <xsl:when test="contains($number-format-code,'s') or starts-with($month-minute,'min')"> |
| <number:minutes number:style="long"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <number:month number:style="long"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'m')"> |
| <xsl:choose> |
| <xsl:when test="contains($number-format-code,'s') or starts-with($month-minute,'min')"> |
| <number:minutes number:style="short"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <number:month number:style="short"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'dro')"> |
| <number:day number:style="rolong"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'dd')"> |
| <number:day number:style="long"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'d')"> |
| <number:day number:style="short"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'hh')"> |
| <number:hours number:style="long"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'h')"> |
| <number:hours/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'ss.00')"> |
| <number:seconds number:style="long" number:decimal-places="2"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'ss')"> |
| <number:seconds number:style="long"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'s')"> |
| <number:seconds/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'am/pm') or starts-with($number-format-code,'上午/下午')"> |
| <number:am-pm/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'nnnn')"> |
| <number:day-of-week number:style="long"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'nnn')"> |
| <number:day-of-week/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'qq')"> |
| <number:quarter number:style="long"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'q')"> |
| <number:quarter/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'ww')"> |
| <number:week-of-year/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'cny')"> |
| <number:currency-symbol>CNY</number:currency-symbol> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'ccc')"> |
| <number:currency-symbol>CCC</number:currency-symbol> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'#') or starts-with($number-format-code,'0') or starts-with($number-format-code,'?')"> |
| <xsl:variable name="digits-part"> |
| <xsl:choose> |
| <xsl:when test="contains($number-format-code,'"')"> |
| <xsl:value-of select="substring-before($number-format-code,'"')"/> |
| </xsl:when> |
| <xsl:when test="contains($number-format-code,')')"> |
| <xsl:value-of select="substring-before($number-format-code,')')"/> |
| </xsl:when> |
| <xsl:when test="contains($number-format-code,'_') and substring(substring-after($number-format-code,'_'),2,1) != 'e'"> |
| <xsl:value-of select="substring-before($number-format-code,'_')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$number-format-code"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="DecimalIntExponentFraction"> |
| <xsl:with-param name="digits-part" select="$digits-part"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'_')"> |
| <xsl:if test="substring($number-format-code,2,1) != '¥'"> |
| <number:text> |
| <xsl:value-of select="' '"/> |
| </number:text> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:if test="not(starts-with($number-format-code,'_')) and not(starts-with($number-format-code,'*'))"> |
| <number:text> |
| <xsl:value-of select="substring($number-format-code,1,1)"/> |
| </number:text> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:variable name="unit-length"> |
| <xsl:choose> |
| <xsl:when test="starts-with($number-format-code,'[')"> |
| <xsl:value-of select="string-length(substring-before($number-format-code,']')) + 2"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'g/通用格式')"> |
| <xsl:value-of select="7"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'"')"> |
| <xsl:value-of select="string-length(substring-before(substring-after($number-format-code,'"'),'"')) +3"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'yyyy')">5</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'yy')">3</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'kkkkro')">7</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'mmmm')">5</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'mmm')">4</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'mm')">3</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'mro')">4</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'dd')">3</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'dro')">4</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'hh')">3</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'ss.00')">6</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'ss')">3</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'am/pm')">6</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'上午/下午')">6</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'nnnn')">5</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'nnn')">4</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'qqro')">5</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'qq')">3</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'ww')">3</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'cny')">4</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'ccc')">4</xsl:when> |
| <xsl:when test="starts-with($number-format-code,'#') or starts-with($number-format-code,'0') or starts-with($number-format-code,'?')"> |
| <xsl:choose> |
| <xsl:when test="contains($number-format-code,'"')"> |
| <xsl:value-of select="string-length(substring-before($number-format-code,'"')) + 1"/> |
| </xsl:when> |
| <xsl:when test="contains($number-format-code,'_') and substring(substring-after($number-format-code,'_'),2,1) != 'e'"> |
| <xsl:value-of select="string-length(substring-before($number-format-code,'_')) + 1"/> |
| </xsl:when> |
| <xsl:when test="contains($number-format-code,')')"> |
| <xsl:value-of select="string-length(substring-before($number-format-code,')')) + 1"/> |
| </xsl:when> |
| <xsl:when test="contains($number-format-code,'%')"> |
| <xsl:value-of select="string-length(substring-before($number-format-code,'%')) + 1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="string-length($number-format-code) + 1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'_')"> |
| <xsl:if test="substring($number-format-code,2,1) != '¥'"> |
| <xsl:value-of select="3"/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="$number-format-code= 'general'">1</xsl:when> |
| <xsl:otherwise>2</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="monthORminute"> |
| <xsl:choose> |
| <xsl:when test="starts-with($number-format-code,'h') or starts-with($number-format-code,'[h') or $month-minute = 'minute'"> |
| <xsl:value-of select="'minute'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'month'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$unit-length > 1"> |
| <xsl:call-template name="GeneralNumberStyle"> |
| <xsl:with-param name="number-format-code" select="substring($number-format-code,$unit-length)"/> |
| <xsl:with-param name="month-minute" select="string($monthORminute)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| <!--xsl:otherwise> |
| <number:number number:min-integer-digits="1" number:decimal-places="6" number:decimal-replacement=""/> |
| </xsl:otherwise> |
| </xsl:choose--> |
| </xsl:template> |
| <xsl:template name="ProcessSquareBracket"> |
| <xsl:param name="number-format-code"/> |
| <xsl:choose> |
| <xsl:when test="starts-with($number-format-code,'$')"> |
| <xsl:choose> |
| <xsl:when test="starts-with($number-format-code,'$¥-804')"> |
| <number:currency-symbol number:language="zh" number:country="CN">¥</number:currency-symbol> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'$us$-804')"> |
| <number:currency-symbol number:language="zh" number:country="CN">US$</number:currency-symbol> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'$$-409')"> |
| <number:currency-symbol number:language="en" number:country="US">$</number:currency-symbol> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'$$-2c0a')"> |
| <number:currency-symbol number:language="es" number:country="AR">$</number:currency-symbol> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'$$-c0c')"> |
| <number:currency-symbol number:language="fr" number:country="CA">$</number:currency-symbol> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'$cny')"> |
| <number:currency-symbol>CNY</number:currency-symbol> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'$afa')"> |
| <number:currency-symbol>AFA</number:currency-symbol> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="starts-with($number-format-code,'black') or starts-with($number-format-code,'黑色')"> |
| <style:text-properties fo:color="#000000"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'blue') or starts-with($number-format-code,'蓝色')"> |
| <style:text-properties fo:color="#0000ff"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'cyan') or starts-with($number-format-code,'蓝绿色')"> |
| <style:text-properties fo:color="#00ffff"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'green') or starts-with($number-format-code,'绿色')"> |
| <style:text-properties fo:color="#00ff00"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'magenta') or starts-with($number-format-code,'洋红色')"> |
| <style:text-properties fo:color="#ff00ff"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'red') or starts-with($number-format-code,'红色')"> |
| <style:text-properties fo:color="#ff0000"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'white') or starts-with($number-format-code,'白色')"> |
| <style:text-properties fo:color="#ffffff"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'yellow') or starts-with($number-format-code,'黄色')"> |
| <style:text-properties fo:color="#ffff00"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'hh')"> |
| <number:hours number:style="long"/> |
| </xsl:when> |
| <xsl:when test="starts-with($number-format-code,'h')"> |
| <number:hours/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="ProcessNumberStyle"> |
| <xsl:param name="number-format-name"/> |
| <xsl:param name="number-format-code"/> |
| <xsl:param name="style-id"/> |
| <xsl:param name="total-unit"/> |
| <xsl:param name="current-unit"/> |
| <xsl:choose> |
| <xsl:when test="$current-unit < ($total-unit -1)"> |
| <xsl:element name="{concat('number:',$number-format-name,'-style')}"> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat( $style-id, 'P',$current-unit)"/></xsl:attribute> |
| <xsl:attribute name="style:volatile">true</xsl:attribute> |
| <xsl:call-template name="GeneralNumberStyle"> |
| <xsl:with-param name="number-format-code" select="substring-before($number-format-code,';')"/> |
| </xsl:call-template> |
| </xsl:element> |
| <xsl:call-template name="ProcessNumberStyle"> |
| <xsl:with-param name="number-format-name" select="$number-format-name"/> |
| <xsl:with-param name="number-format-code" select="substring-after($number-format-code,';')"/> |
| <xsl:with-param name="style-id" select="$style-id"/> |
| <xsl:with-param name="total-unit" select="$total-unit"/> |
| <xsl:with-param name="current-unit" select="$current-unit + 1"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="{concat('number:',$number-format-name,'-style')}"> |
| <xsl:attribute name="style:name"><xsl:value-of select="$style-id"/></xsl:attribute> |
| <xsl:call-template name="NumStyleElementAttribute"> |
| <xsl:with-param name="number-format-code" select="string($number-format-code)"/> |
| </xsl:call-template> |
| <xsl:call-template name="GeneralNumberStyle"> |
| <xsl:with-param name="number-format-code" select="string($number-format-code)"/> |
| </xsl:call-template> |
| <xsl:call-template name="StyleMap"> |
| <xsl:with-param name="number-format-name" select="@分类名称_E740"/> |
| <xsl:with-param name="number-format-code" select="@格式码_E73F"/> |
| <xsl:with-param name="style-id" select="$style-id"/> |
| <xsl:with-param name="total-unit" select="$total-unit"/> |
| <xsl:with-param name="current-unit" select="0"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="NumberStyle"> |
| <xsl:param name="style-id"/> |
| <xsl:variable name="unit-count" select="string-length(@格式码_E73F) - string-length(translate(@格式码_E73F,';','')) + 1"/> |
| <xsl:variable name="number-format-name"> |
| <xsl:choose> |
| <xsl:when test="@分类名称_E740='number'">number</xsl:when> |
| <xsl:when test="@分类名称_E740='currency' or @分类名称_E740='accounting'">currency</xsl:when> |
| <xsl:when test="@分类名称_E740='date'">date</xsl:when> |
| <xsl:when test="@分类名称_E740='time'">time</xsl:when> |
| <xsl:when test="@分类名称_E740='percentage'">percentage</xsl:when> |
| <xsl:when test="@分类名称_E740='text'">text</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'number'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="ProcessNumberStyle"> |
| <xsl:with-param name="number-format-name" select="$number-format-name"/> |
| <xsl:with-param name="number-format-code" select="fn:lower-case(@格式码_E73F)"/> |
| <xsl:with-param name="style-id" select="concat($style-id,'F')"/> |
| <xsl:with-param name="total-unit" select="$unit-count"/> |
| <xsl:with-param name="current-unit" select="0"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="character-to-number"> |
| <xsl:param name="character"/> |
| <xsl:choose> |
| <xsl:when test="$character = 'A'">1</xsl:when> |
| <xsl:when test="$character = 'B'">2</xsl:when> |
| <xsl:when test="$character = 'C'">3</xsl:when> |
| <xsl:when test="$character = 'D'">4</xsl:when> |
| <xsl:when test="$character = 'E'">5</xsl:when> |
| <xsl:when test="$character = 'F'">6</xsl:when> |
| <xsl:when test="$character = 'G'">7</xsl:when> |
| <xsl:when test="$character = 'H'">8</xsl:when> |
| <xsl:when test="$character = 'I'">9</xsl:when> |
| <xsl:when test="$character = 'J'">10</xsl:when> |
| <xsl:when test="$character = 'K'">11</xsl:when> |
| <xsl:when test="$character = 'L'">12</xsl:when> |
| <xsl:when test="$character = 'M'">13</xsl:when> |
| <xsl:when test="$character = 'N'">14</xsl:when> |
| <xsl:when test="$character = 'O'">15</xsl:when> |
| <xsl:when test="$character = 'P'">16</xsl:when> |
| <xsl:when test="$character = 'Q'">17</xsl:when> |
| <xsl:when test="$character = 'R'">18</xsl:when> |
| <xsl:when test="$character = 'S'">19</xsl:when> |
| <xsl:when test="$character = 'T'">20</xsl:when> |
| <xsl:when test="$character = 'U'">21</xsl:when> |
| <xsl:when test="$character = 'V'">22</xsl:when> |
| <xsl:when test="$character = 'W'">23</xsl:when> |
| <xsl:when test="$character = 'X'">24</xsl:when> |
| <xsl:when test="$character = 'Y'">25</xsl:when> |
| <xsl:when test="$character = 'Z'">26</xsl:when> |
| <xsl:otherwise/> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="number-to-character"> |
| <xsl:param name="number"/> |
| <xsl:choose> |
| <xsl:when test="$number = 0"/> |
| <xsl:when test="$number = 1">A</xsl:when> |
| <xsl:when test="$number = 2">B</xsl:when> |
| <xsl:when test="$number = 3">C</xsl:when> |
| <xsl:when test="$number = 4">D</xsl:when> |
| <xsl:when test="$number = 5">E</xsl:when> |
| <xsl:when test="$number = 6">F</xsl:when> |
| <xsl:when test="$number = 7">G</xsl:when> |
| <xsl:when test="$number = 8">H</xsl:when> |
| <xsl:when test="$number = 9">I</xsl:when> |
| <xsl:when test="$number = 10">J</xsl:when> |
| <xsl:when test="$number = 11">K</xsl:when> |
| <xsl:when test="$number = 12">L</xsl:when> |
| <xsl:when test="$number = 13">M</xsl:when> |
| <xsl:when test="$number = 14">N</xsl:when> |
| <xsl:when test="$number = 15">O</xsl:when> |
| <xsl:when test="$number = 16">P</xsl:when> |
| <xsl:when test="$number = 17">Q</xsl:when> |
| <xsl:when test="$number = 18">R</xsl:when> |
| <xsl:when test="$number = 19">S</xsl:when> |
| <xsl:when test="$number = 20">T</xsl:when> |
| <xsl:when test="$number = 21">U</xsl:when> |
| <xsl:when test="$number = 22">V</xsl:when> |
| <xsl:when test="$number = 23">W</xsl:when> |
| <xsl:when test="$number = 24">X</xsl:when> |
| <xsl:when test="$number = 25">Y</xsl:when> |
| <xsl:when test="$number = 26">Z</xsl:when> |
| <xsl:otherwise/> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:字体_4128" mode="sentence"> |
| <xsl:if test="@西文字体引用_4129"> |
| <xsl:variable name="westfontref" select="@西文字体引用_4129"/> |
| <xsl:variable name="sdwestfontref"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $westfontref]"> |
| <xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $westfontref]/@名称_9903"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$westfontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="westFamilyref"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $westfontref]"> |
| <xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $westfontref]/式样:字体族_9900"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$westfontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation' or ancestor::图表:图表_E837"> |
| <xsl:attribute name="style:font-name" select="$sdwestfontref"/> |
| <!--演 中用字体名称;字、表用字体ID,此时不用再指定font-family--> |
| <xsl:attribute name="fo:font-family" select="$sdwestfontref"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:font-name" select="$westfontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="@中文字体引用_412A"> |
| <xsl:variable name="cjkfontref" select="@中文字体引用_412A"/> |
| <xsl:variable name="sdcjkfontref"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $cjkfontref]"> |
| <xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $cjkfontref]/@名称_9903"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$cjkfontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="cjkFamilyref"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $cjkfontref]"> |
| <xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $cjkfontref]/式样:字体族_9900"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$cjkfontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation' or ancestor::图表:图表_E837"> |
| <xsl:attribute name="style:font-name-asian" select="$sdcjkfontref"/> |
| <xsl:attribute name="style:font-family-asian" select="$sdcjkfontref"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:font-name-asian" select="$cjkfontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="not(@西文字体引用_4129) and not(@中文字体引用_412A) and (@特殊字体引用_412B)"> |
| <xsl:variable name="fontref" select="@特殊字体引用_412B"/> |
| <xsl:variable name="sdfontref"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $fontref]"> |
| <xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $fontref]/@名称_9903"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$fontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="Familyref"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $fontref]"> |
| <xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $fontref]/式样:字体族_9900"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$fontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:attribute name="style:font-name" select="$sdfontref"/> |
| <xsl:attribute name="style:font-name-asian" select="$sdfontref"/> |
| <xsl:attribute name="fo:font-family" select="$sdfontref"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:font-name" select="$fontref"/> |
| <xsl:attribute name="style:font-name-asian" select="$fontref"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="@字号_412D"> |
| <xsl:attribute name="fo:font-size"><xsl:value-of select="concat(@字号_412D,'pt')"/></xsl:attribute> |
| <xsl:attribute name="style:font-size-asian"><xsl:value-of select="concat(@字号_412D,'pt')"/></xsl:attribute> |
| <xsl:attribute name="style:font-size-complex"><xsl:value-of select="concat(@字号_412D,'pt')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@相对字号_412E"> |
| <xsl:attribute name="fo:font-size"><xsl:value-of select="concat(@相对字号_412E,'%')"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="@颜色_412F"> |
| <xsl:attribute name="fo:color"><xsl:value-of select="@颜色_412F"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@是否西文绘制_412C"> |
| <xsl:attribute name="style:western-content"><xsl:value-of select="@是否西文绘制_412C"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:是否粗体_4130" mode="sentence"> |
| <xsl:if test="string(.)='true' or string(.)='1'"> |
| <xsl:attribute name="fo:font-weight">bold</xsl:attribute> |
| <xsl:attribute name="style:font-weight-asian">bold</xsl:attribute> |
| <xsl:attribute name="style:font-weight-complex">bold</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(.)='false'or string(.)='0'"> |
| <xsl:attribute name="fo:font-weight">normal</xsl:attribute> |
| <xsl:attribute name="style:font-weight-asian">normal</xsl:attribute> |
| <xsl:attribute name="style:font-weight-complex">normal</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:是否斜体_4131" mode="sentence"> |
| <xsl:if test="string(.)='true' or string(.)='1'"> |
| <xsl:attribute name="fo:font-style">italic</xsl:attribute> |
| <xsl:attribute name="fo:font-style-asian">italic</xsl:attribute> |
| <xsl:attribute name="style:font-style-asian">italic</xsl:attribute> |
| <xsl:attribute name="style:font-style-complex">italic</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(.)='false' or string(.)='0'"> |
| <xsl:attribute name="fo:font-style">normal</xsl:attribute> |
| <xsl:attribute name="fo:font-style-asian">normal</xsl:attribute> |
| <xsl:attribute name="style:font-style-asian">normal</xsl:attribute> |
| <xsl:attribute name="style:font-style-complex">normal</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:突出显示颜色_4132" mode="sentence"> |
| <xsl:variable name="color"> |
| <xsl:choose> |
| <xsl:when test="string(.)='auto'">transparent</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="."/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="fo:background-color"><xsl:value-of select="$color"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:边框_4133" mode="sentence"> |
| </xsl:template> |
| <xsl:template match="字:填充_4134" mode="sentence"> |
| <xsl:call-template name="CommonFillAttr"/> |
| </xsl:template> |
| <xsl:template match="字:删除线_4135" mode="sentence"> |
| <xsl:choose> |
| <xsl:when test="string(.) = 'single' "> |
| <xsl:attribute name="style:text-line-through-style">solid</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = 'double' "> |
| <xsl:attribute name="style:text-line-through-style">solid</xsl:attribute> |
| <xsl:attribute name="style:text-line-through-type">double</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = 'bold' "> |
| <xsl:attribute name="style:text-line-through-width">bold</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = 'xl' "> |
| <xsl:attribute name="style:text-line-through-text">X</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.) = '/l' "> |
| <xsl:attribute name="style:text-line-through-text">/</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:text-crossing-out">none</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:下划线_4136" mode="sentence"> |
| <xsl:choose> |
| <xsl:when test=" @线型_4137 and @线型_4137 != 'none'"> |
| <xsl:attribute name="style:text-underline-type"><xsl:choose><xsl:when test="@线型_4137 = 'single'">single</xsl:when><xsl:when test="@线型_4137 = 'double'">double</xsl:when><xsl:otherwise>single</xsl:otherwise><!--other types of 线型 like thick-thin,thin-thick and thick-between-thin--></xsl:choose></xsl:attribute> |
| </xsl:when> |
| <!--xsl:when test=" @线型_4137 and @线型_4137 != 'none'"> |
| <xsl:attribute name="style:text-underline-type"> |
| <xsl:choose> |
| <xsl:when test="@线型_4137 = 'single'">single</xsl:when> |
| <xsl:when test="@线型_4137 = 'double'">double</xsl:when> |
| <xsl:otherwise>solid</xsl:otherwise> |
| </xsl:choose> |
| </xsl:attribute> |
| </xsl:when--> |
| </xsl:choose> |
| <xsl:if test="@虚实_4138 and @线型_4137 != 'none'"> |
| <xsl:attribute name="style:text-underline-style"><xsl:choose><xsl:when test="@虚实_4138 = 'solid'">solid</xsl:when><xsl:when test="@虚实_4138 = 'dash'">dash</xsl:when><xsl:when test="@虚实_4138 = 'dash-dot'">dot-dash</xsl:when><xsl:when test="@虚实_4138 = 'long-dash'">long-dash</xsl:when><xsl:when test="@虚实_4138 = 'dash-dot-dot'">dot-dot-dash</xsl:when><xsl:when test="@虚实_4138 = 'round-dot'">dotted</xsl:when><xsl:when test="@虚实_4138 = 'square-dot'">dotted</xsl:when><xsl:when test="@虚实_4138 = 'long-dash-dot'">dot-dash</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@线型_4137 != 'none' and @线型_4137"> |
| <xsl:attribute name="style:text-underline-width">auto</xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="@颜色_412F"> |
| <xsl:variable name="color"> |
| <xsl:choose> |
| <xsl:when test="@颜色_412F='auto'">font-color</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="@颜色_412F"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:text-underline-color"><xsl:value-of select="$color"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:text-underline-color">font-color</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="string(@是否字下划线_4139) = 'true'"> |
| <xsl:attribute name="style:text-line-through-mode">skip-white-space</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:着重号_413A" mode="sentence"> |
| <xsl:choose> |
| <xsl:when test="@类型_413B='none'"> |
| <xsl:attribute name="style:text-emphasize">none</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@类型_413B='dot'"> |
| <xsl:choose> |
| <xsl:when test="@是否字着重号_413C='true'"> |
| <xsl:attribute name="style:text-emphasize">dot below spaceex</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@是否字着重号_413C='false'"> |
| <xsl:attribute name="style:text-emphasize">dot below spacein</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:text-emphasize">dot below</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:是否隐藏文字_413D" mode="sentence"> |
| <xsl:if test="string(.) = 'true'"> |
| <xsl:attribute name="text:display">none</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:是否空心_413E" mode="sentence"> |
| <xsl:attribute name="style:text-outline"><xsl:value-of select="."/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:浮雕_413F" mode="sentence"> |
| <xsl:attribute name="style:font-relief"><xsl:choose><xsl:when test="string(.)='engrave'">engraved</xsl:when><xsl:when test="string(.)='emboss'">embossed</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否阴影_4140" mode="sentence"> |
| <xsl:if test="string(.)!='false'"> |
| <xsl:attribute name="fo:text-shadow">1pt 1pt</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:醒目字体类型_4141" mode="sentence"> |
| <xsl:choose> |
| <xsl:when test="string(.)='small-caps'"> |
| <xsl:attribute name="fo:font-variant">small-caps</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(.)='none'"> |
| <xsl:attribute name="fo:font-variant">normal</xsl:attribute> |
| <xsl:attribute name="fo:text-transform">none</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="fo:text-transform"><xsl:choose><xsl:when test="string(.)='uppercase'">uppercase</xsl:when><xsl:when test="string(.)='lowercase'">lowercase</xsl:when><xsl:when test="string(.)='capital'">capitalize</xsl:when></xsl:choose></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="UOFGetCharSize"> |
| <xsl:choose> |
| <xsl:when test="字:字体_4128/@字号_412D"> |
| <xsl:value-of select="字:字体_4128/@字号_412D"/> |
| </xsl:when> |
| <xsl:when test="@式样引用_419C!=''"> |
| <xsl:for-each select="key('uof-text-styles',@式样引用_419C)"> |
| <xsl:call-template name="UOFGetCharSize"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="@基式样引用_4104!=''"> |
| <xsl:for-each select="key('uof-text-styles',@基式样引用_4104)"> |
| <xsl:call-template name="UOFGetCharSize"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise>10.5</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:位置_4142" mode="sentence"> |
| <xsl:variable name="size"> |
| <xsl:for-each select=".."> |
| <xsl:call-template name="UOFGetCharSize"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <!--xsl:variable name="position" select="."/--> |
| <xsl:variable name="pre" select="字:偏移量_4126[1]"/> |
| <xsl:variable name="suf" select="字:缩放量_4127[1]"/> |
| <xsl:for-each select="../.."> |
| <xsl:if test="not(starts-with(string($pre),'-'))"> |
| <xsl:choose> |
| <xsl:when test="number($pre) < number($size)"> |
| <xsl:variable name="tmp"> |
| <xsl:choose> |
| <xsl:when test="$size!=''"> |
| <xsl:value-of select="number($pre) div number($size) * 100"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($pre) div 10.5 * 100"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:text-position"><xsl:value-of select="concat(concat($tmp,'%'),' ',concat($suf,'%'))"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:text-position"><xsl:value-of select="concat('100%',' ',concat($suf,'%'))"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="starts-with(string($pre),'-')"> |
| <xsl:choose> |
| <xsl:when test="number(substring-after(string($pre),'-')) < number($size)"> |
| <xsl:variable name="tmp"> |
| <xsl:choose> |
| <xsl:when test="$size!=''"> |
| <xsl:value-of select="number(substring-after(string($pre),'-')) div number($size) * 100"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(substring-after(string($pre),'-')) div 10.5 * 100"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:text-position"><xsl:value-of select="concat('-',concat(string($tmp),'%'),' ',concat($suf,'%'))"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:text-position"><xsl:value-of select="concat('-100%',' ',concat($suf,'%'))"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="字:上下标类型_4143" mode="sentence"> |
| <xsl:variable name="positon"> |
| <xsl:value-of select="."/> |
| </xsl:variable> |
| <xsl:attribute name="style:text-position"><xsl:choose><xsl:when test="contains($positon,'sup')">super 58%</xsl:when><xsl:when test="contains($positon,'sub')">sub 58%</xsl:when></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:缩放_4144" mode="sentence"> |
| <xsl:attribute name="style:text-scale"><xsl:value-of select="."/>%</xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:字符间距_4145" mode="sentence"> |
| <xsl:attribute name="fo:letter-spacing"><xsl:value-of select="concat(.,$uofUnit)"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:调整字间距_4146" mode="sentence"> |
| <xsl:variable name="tt"> |
| <xsl:value-of select="."/> |
| </xsl:variable> |
| <xsl:attribute name="style:letter-kerning"><xsl:choose><xsl:when test="$tt !='0'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="fo:letter-spacing"><xsl:value-of select="concat($tt,$uofUnit)"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否字符对齐网格_4147" mode="sentence"> |
| </xsl:template> |
| <xsl:template match="字:双行合一_4148" mode="sentence"> |
| <xsl:attribute name="style:text-combine">lines</xsl:attribute> |
| <xsl:if test="@前置字符_414A"> |
| <xsl:attribute name="style:text-combine-start-char"><xsl:value-of select="@前置字符_414A"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@后置字符_414B"> |
| <xsl:attribute name="style:text-combine-end-char"><xsl:value-of select="@后置字符_414B"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TextProperties"> |
| <xsl:if test="./*"> |
| <xsl:for-each select="*"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| <!-- |
| <xsl:choose> |
| <xsl:when test="self::node()[name(.)='字:字体_4128']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:粗体']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:斜体']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:突出显示']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:边框_4133']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:填充']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:删除线_4135']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:下划线']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:着重号']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:隐藏文字']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:空心']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:浮雕']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:阴影']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:醒目字体']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:位置']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:上下标']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:缩放']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:字符间距']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:调整字间距']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:字符对齐网格']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:双行合一']"> |
| <xsl:apply-templates select="." mode="sentence"/> |
| </xsl:when> |
| </xsl:choose> |
| --> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="OneTextStyle"> |
| <xsl:attribute name="style:family">text</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_4100"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@别名_4103"> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@别名_4103"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@标识符_4100"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="@基式样引用_4104"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@后继式样引用_4105"> |
| <xsl:attribute name="style:next-style-name"><xsl:value-of select="@后继式样引用_4105"/></xsl:attribute> |
| </xsl:if> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="式样:句式样_9910"> |
| <xsl:param name="Type"/> |
| <xsl:if test="@类型_4102=$Type"> |
| <xsl:choose> |
| <xsl:when test="$Type='default'"> |
| <xsl:element name="style:default-style"> |
| <xsl:attribute name="style:family">text</xsl:attribute> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:element> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$Type='custom'"> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneTextStyle"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$Type='auto'"> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneTextStyle"/> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TextParentProperties"> |
| <xsl:param name="Stylename"/> |
| <xsl:for-each select="key('uof-text-styles',$Stylename)|key('uof-paragraph-styles',$Stylename)/字:句属性_4158"> |
| <xsl:variable name="styleref"> |
| <xsl:choose> |
| <xsl:when test="@基式样引用_4104"> |
| <xsl:value-of select="@基式样引用_4104"/> |
| </xsl:when> |
| <xsl:when test="@式样引用_419C"> |
| <xsl:value-of select="@式样引用_417B"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$styleref"> |
| <xsl:call-template name="TextParentProperties"> |
| <xsl:with-param name="Stylename" select="$styleref"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:for-each select="."> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="BodyTextProperties"> |
| <!--xsl:param name="Type"/> |
| <xsl:choose> |
| <xsl:when test="$Type='symbol'"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:自动编号集_990E//字:符号字体_4116"> |
| <xsl:if test="count(./child::*)!=0"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">text</xsl:attribute> |
| <xsl:attribute name="style:name"> |
| <xsl:value-of select="generate-id(.)"/> |
| </xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@式样引用_4117"> |
| <xsl:attribute name="style:parent-style-name"> |
| <xsl:value-of select="@式样引用_4117"/> |
| </xsl:attribute> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextParentProperties"> |
| <xsl:with-param name="Stylename" select="@式样引用_4117"/> |
| </xsl:call-template> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:批注集_B669/规则:批注_B66A//字:句_419D/字:句属性_4158 | /uof:UOF_0000/字:文字处理文档_4225//字:句_419D/字:句属性_4158 | /uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:内容_8043//字:句_419D/字:句属性_4158 | /uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825//字:句_419D/字:句属性_4158"--> |
| <xsl:variable name="textstyleref" select="@式样引用_419C"/> |
| <xsl:variable name="textstylerefabsence"> |
| <xsl:if test="$textstyleref!='' and count(/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@标识符_4100=$textstyleref])=0">1</xsl:if> |
| </xsl:variable> |
| <xsl:variable name="pageNumberColor" select="../preceding-sibling::字:域开始_419E/@类型_416E"/> |
| <xsl:variable name="beforeNumberColor" select="../字:文本串[1]"/> |
| <xsl:choose> |
| <xsl:when test="$textstylerefabsence='1'"> |
| <xsl:if test="count(key('uof-paragraph-styles',$textstyleref))!=0"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">text</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="key('uof-paragraph-styles',$textstyleref)/字:句属性_4158"> |
| <xsl:if test="@式样引用_419C"> |
| <xsl:call-template name="TextParentProperties"> |
| <xsl:with-param name="Stylename" select="@式样引用_419C"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:for-each select="."> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| <!-- 为页码的字符部分做一个灰色背景式样 --> |
| <xsl:if test="$document_type = 'text' and (string($pageNumberColor[1]) = 'page' or $beforeNumberColor[1] = '-')"> |
| <xsl:attribute name="fo:background-color">#d2d2d2</xsl:attribute> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="count(*)!=0"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">text</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@式样引用_419C"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="@式样引用_419C"/></xsl:attribute> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextParentProperties"> |
| <xsl:with-param name="Stylename" select="@式样引用_419C"/> |
| </xsl:call-template> |
| <xsl:call-template name="TextProperties"/> |
| <!-- 为页码的字符部分做一个灰色背景式样 --> |
| <xsl:if test="$document_type = 'text' and (string($pageNumberColor[1]) = 'page' or $beforeNumberColor[1] = '-')"> |
| <xsl:attribute name="fo:background-color">#d2d2d2</xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextProperties"/> |
| <!-- 为页码的字符部分做一个灰色背景式样 --> |
| <xsl:if test="$document_type = 'text' and (string($pageNumberColor[1]) = 'page' or $beforeNumberColor[1] = '-')"> |
| <xsl:attribute name="fo:background-color">#d2d2d2</xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| <!--/xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose--> |
| </xsl:template> |
| <xsl:template name="ParaCharSize"> |
| <xsl:variable name="charSize"> |
| <xsl:choose> |
| <xsl:when test="字:句属性_4158/字:字体_4128/@字号_412D"> |
| <xsl:value-of select="字:句属性_4158/字:字体_4128/@字号_412D"/> |
| </xsl:when> |
| <xsl:when test="字:句属性_4158/@式样引用_419C!=''"> |
| <xsl:for-each select="key('uof-text-styles',字:句属性_4158/@式样引用_419C)"> |
| <xsl:call-template name="UOFGetCharSize"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="@式样引用_419C!=''"> |
| <xsl:for-each select="key('uof-paragraph-styles',@式样引用_419C)"> |
| <xsl:call-template name="ParaCharSize"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="@基式样引用_4104!=''"> |
| <xsl:for-each select="key('uof-paragraph-styles',@基式样引用_4104)"> |
| <xsl:call-template name="ParaCharSize"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102 = 'default']/字:句属性_4158/字:字体_4128/@字号_412D"> |
| <xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102 = 'default']/字:句属性_4158/字:字体_4128/@字号_412D"/> |
| </xsl:when> |
| <xsl:otherwise>10.5</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!--<xsl:variable name="defaultCharSize"> |
| <xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102='default']/字:句属性_4158/字:字体_4128/@字号_412D"/> |
| </xsl:variable>--> |
| <xsl:choose> |
| <xsl:when test="$charSize!=''"> |
| <xsl:value-of select="$charSize"/> |
| </xsl:when> |
| <!--<xsl:when test="$defaultCharSize!=''"> |
| <xsl:value-of select="$defaultCharSize"/> |
| </xsl:when>--> |
| <xsl:otherwise>10.5</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:边框_4133" mode="paragraph"> |
| <xsl:if test="@阴影类型_C645 and @阴影类型_C645 !='' and @阴影类型_C645 !='none'"> |
| <xsl:choose> |
| <xsl:when test="@阴影类型_C645 = 'right-bottom'"> |
| <xsl:attribute name="style:shadow">#808080 5pt 5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'right-top'"> |
| <xsl:attribute name="style:shadow">#808080 5pt -5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'left-bottom'"> |
| <xsl:attribute name="style:shadow">#808080 -5pt 5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'left-top'"> |
| <xsl:attribute name="style:shadow">#808080 -5pt -5pt</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="uof:上_C614"/> |
| <xsl:with-param name="pDown" select="uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="uof:左_C613"/> |
| <xsl:with-param name="pRight" select="uof:右_C615"/> |
| <xsl:with-param name="pDiagon1" select="uof:对角线1_C617"/> |
| <xsl:with-param name="pDiagon2" select="uof:对角线2_C618"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template match="字:填充_4134" mode="paragraphAttr"> |
| <xsl:call-template name="CommonFillAttr"/> |
| </xsl:template> |
| <xsl:template match="字:填充_4134" mode="paragraphElement"> |
| <xsl:call-template name="CommonFillElement"/> |
| </xsl:template> |
| <xsl:template match="字:大纲级别_417C" mode="paragraph"> |
| <xsl:attribute name="text:outline-level"><xsl:value-of select="."/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:对齐_417D" mode="paragraph"> |
| <xsl:if test="@文字对齐_421E"> |
| <xsl:attribute name="style:vertical-align"><xsl:choose><xsl:when test="@文字对齐_421E='base'">baseline</xsl:when><xsl:when test="@文字对齐_421E='center'">middle</xsl:when><xsl:otherwise><xsl:value-of select="@文字对齐_421E"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@水平对齐_421D"> |
| <xsl:attribute name="fo:text-align"><xsl:choose><xsl:when test="@水平对齐_421D='left'">start</xsl:when><xsl:when test="@水平对齐_421D='right'">end</xsl:when><xsl:when test="@水平对齐_421D='center'">center</xsl:when><xsl:otherwise>justify</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:if test="@水平对齐_421D='distributed'"> |
| <xsl:attribute name="fo:text-align-last">justify</xsl:attribute> |
| <xsl:attribute name="style:justify-single-word">true</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:缩进_411D" mode="paragraph"> |
| <xsl:variable name="fontcharsize"> |
| <xsl:for-each select=".."> |
| <xsl:call-template name="ParaCharSize"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:if test="字:左_410E"> |
| <xsl:choose> |
| <xsl:when test="字:左_410E/字:相对_4109"> |
| <xsl:variable name="a1" select="字:左_410E/字:相对_4109/@值_4108"/> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat($a1 * number(10.5), 'pt')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:左_410E/字:绝对_4107"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(字:左_410E/字:绝对_4107/@值_410F,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="字:右_4110"> |
| <xsl:choose> |
| <xsl:when test="字:右_4110/字:相对_4109"> |
| <xsl:variable name="a2" select="字:右_4110/字:相对_4109/@值_4108"/> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat($a2 * number(10.5), 'pt')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:右_4110/字:绝对_4107"> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat(字:右_4110/字:绝对_4107/@值_410F,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="字:首行_4111"> |
| <xsl:choose> |
| <xsl:when test="字:首行_4111/字:绝对_4107"> |
| <xsl:attribute name="fo:text-indent"><xsl:value-of select="concat(字:首行_4111/字:绝对_4107/@值_410F,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:首行_4111/字:相对_4109"> |
| <xsl:variable name="a3" select="字:首行_4111/字:相对_4109/@值_4108"/> |
| <xsl:attribute name="fo:text-indent"><xsl:value-of select="concat($a3 * $fontcharsize, 'pt')"/></xsl:attribute> |
| <!--xsl:attribute name="fo:text-indent"><xsl:value-of select="concat($a3 * number(10.5), 'pt')"/></xsl:attribute--> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:行距_417E" mode="paragraph"> |
| <xsl:variable name="type" select="@类型_417F"/> |
| <xsl:variable name="val" select="@值_4108"/> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation' and $type='fixed'"> |
| <xsl:attribute name="style:line-spacing"><xsl:value-of select="concat($val,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$type='fixed'"> |
| <xsl:attribute name="fo:line-height"><xsl:value-of select="concat($val,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$type='multi-lines'"> |
| <xsl:attribute name="fo:line-height"><xsl:value-of select="concat($val * 100,'%')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$type='at-least'"> |
| <xsl:attribute name="style:line-height-at-least"><xsl:value-of select="concat($val,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$type='line-space'"> |
| <xsl:attribute name="style:line-spacing"><xsl:value-of select="concat($val,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:段间距_4180" mode="paragraph"> |
| <xsl:variable name="lineheight"> |
| <xsl:choose> |
| <xsl:when test="字:段前距_4181/字:相对值_4148 | 字:段后距_4185/字:相对值_4148"> |
| <xsl:choose> |
| <xsl:when test="../..[name()='字:段落_416B']"> |
| <xsl:choose> |
| <xsl:when test="preceding::字:分节_416A[1]"> |
| <xsl:for-each select="preceding::字:分节_416A[1]"> |
| <xsl:choose> |
| <xsl:when test="(字:节属性_421B/字:网格设置_420E/@网格类型_420F = 'none') or 字:节属性_421B/字:网格设置_420E/@行跨度_4243"> |
| <xsl:for-each select="字:节属性_421B"> |
| <xsl:variable name="margintop"> |
| <xsl:choose> |
| <xsl:when test="字:页边距_41EB/@上_C608"> |
| <xsl:value-of select="字:页边距_41EB/@上_C608"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="marginbottom"> |
| <xsl:choose> |
| <xsl:when test="字:页边距_41EB/@下_C60B"> |
| <xsl:value-of select="字:页边距_41EB/@下_C60B"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="pageheight"> |
| <xsl:call-template name="GetPageHeight"/> |
| </xsl:variable> |
| <xsl:variable name="bodyheight" select="$pageheight - $margintop - $marginbottom"/> |
| <xsl:variable name="modnum" select="number(1.0015)"/> |
| <xsl:variable name="gridheight"> |
| <xsl:value-of select="$bodyheight div ceiling(字:网格设置_420E/@行数_4210) div $modnum"/> |
| </xsl:variable> |
| <xsl:value-of select="$gridheight"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="12"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="12"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="12"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="12"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="字:段前距_4181/字:绝对值_4183"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat(字:段前距_4181/字:绝对值_4183,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:段前距_4181/字:相对值_4184"> |
| <xsl:variable name="aa" select="字:段前距_4181/字:相对值_4184"/> |
| <xsl:attribute name="fo:margin-taop"><xsl:value-of select="$lineheight"/></xsl:attribute> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat($aa * number($lineheight),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:段前距_4181/字:自动_4182"> |
| <xsl:attribute name="fo:margin-top"><xsl:choose><xsl:when test="../字:行距_417E"><xsl:value-of select="concat(字:行距_417E/@值_4108,$uofUnit)"/></xsl:when><xsl:otherwise>0.549cm</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="字:段后距_4185/字:绝对值_4183"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat(字:段后距_4185/字:绝对值_4183,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:段后距_4185/字:相对值_4184"> |
| <xsl:variable name="bb"> |
| <xsl:value-of select="字:段后距_4185/字:相对值_4184"/> |
| </xsl:variable> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat($bb * number($lineheight),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:段后距_4185/字:自动_4182"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:choose><xsl:when test="../字:行距_417E"><xsl:value-of select="concat(字:行距_417E/@值_4108,@uofUnit)"/></xsl:when><xsl:otherwise>0.549cm</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <!--xsl:template match="字:自动编号信息" mode="paragraph"> |
| </xsl:template--> |
| <xsl:template match="字:孤行控制_418A" mode="paragraph"> |
| <xsl:attribute name="fo:orphans"><xsl:value-of select="string(.)"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:寡行控制_418B" mode="paragraph"> |
| <xsl:attribute name="fo:widows"><xsl:value-of select="string(.)"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否段中不分页_418C" mode="paragraph"> |
| <xsl:attribute name="fo:keep-together"><xsl:choose><xsl:when test="string(.) = 'true'">always</xsl:when><xsl:otherwise>auto</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否与下段同页_418D" mode="paragraph"> |
| <xsl:attribute name="fo:keep-with-next"><xsl:choose><xsl:when test="string(.)='1' or string(.)='true'">always</xsl:when><xsl:otherwise>auto</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否段前分页_418E" mode="paragraph"> |
| <xsl:if test="string(.)='true' or string(.)='1'"> |
| <xsl:attribute name="fo:break-before">page-paragraph</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="OOoTabstop"> |
| <xsl:for-each select="字:制表位_4171"> |
| <xsl:element name="style:tab-stop"> |
| <xsl:attribute name="style:position"><xsl:value-of select="concat(@位置_4172,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="style:type"><xsl:choose><xsl:when test="@类型_4173='decimal'">char</xsl:when><xsl:when test="@类型_4173='left' or @类型_4173='right' or @类型_4173='center'"><xsl:value-of select="@类型_4173"/></xsl:when><xsl:otherwise/></xsl:choose></xsl:attribute> |
| <xsl:if test="@类型_4173='decimal'"> |
| <xsl:attribute name="style:char" select="'.'"/> |
| </xsl:if> |
| <xsl:variable name="prechar" select="@前导符_4174"/> |
| <xsl:choose> |
| <xsl:when test="@制表位字符_4175"> |
| <xsl:attribute name="style:leader-style"><xsl:value-of select="@制表位字符_4175"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$prechar='-' or $prechar='_'"> |
| <xsl:attribute name="style:leader-style">solid</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$prechar='.' or $prechar='·'"> |
| <xsl:attribute name="style:leader-style">dotted</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise/> |
| </xsl:choose> |
| <xsl:if test="@前导符_4174"> |
| <xsl:attribute name="style:leader-text"><xsl:value-of select="@前导符_4174"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="字:制表位设置_418F" mode="paragraph"> |
| <xsl:call-template name="OOoTabstop"/> |
| </xsl:template> |
| <xsl:template match="字:是否对齐网格_4190" mode="paragraph"> |
| <xsl:attribute name="style:snap-to-layout-grid"><xsl:choose><xsl:when test="string(.)='1' or string(.)='true'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:首字下沉_4191" mode="paragraph"> |
| <xsl:element name="style:drop-cap"> |
| <xsl:if test="@类型_413B"> |
| <xsl:attribute name="style:drop-type"><xsl:value-of select="@类型_413B"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@行数_4178"> |
| <xsl:attribute name="style:lines"><xsl:value-of select="@行数_4178"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@间距_4179"> |
| <xsl:attribute name="style:distance"><xsl:value-of select="concat(@间距_4179,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@字体引用_4176"> |
| <xsl:attribute name="style:style-name"><xsl:value-of select="@字体引用_4176"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@字符数_4177"> |
| <xsl:attribute name="style:length"><xsl:value-of select="@字符数_4177"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="字:是否取消断字_4192" mode="paragraph"> |
| <!-- alert staring |
| <xsl:attribute name="fo:hyphenation-ladder-count">no-limit</xsl:attribute> |
| <xsl:attribute name="fo:hyphenation-remain-char-count">2</xsl:attribute> |
| <xsl:attribute name="fo:hyphenation-push-char-count">2</xsl:attribute> |
| <xsl:attribute name="fo:hyphenate"> |
| <xsl:choose> |
| <xsl:when test="string(.)='1' or string(.)='true'">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:attribute>--> |
| <xsl:if test="string(.) ='0' or string(.) ='false'"> |
| <xsl:attribute name="fo:hyphenate">true</xsl:attribute> |
| <xsl:attribute name="fo:hyphenation-ladder-count">no-limit</xsl:attribute> |
| <xsl:attribute name="fo:hyphenation-remain-char-count">2</xsl:attribute> |
| <xsl:attribute name="fo:hyphenation-push-char-count">2</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:是否取消行号_4193" mode="paragraph"> |
| <xsl:attribute name="text:number-lines"><xsl:choose><xsl:when test="string(.)='1' or string(.)='true'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否允许单词断字_4194" mode="paragraph"> |
| <!-- alert staring |
| <xsl:attribute name="style:word-wrap"> |
| <xsl:choose> |
| <xsl:when test="string(.) = 'true'">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:attribute>--> |
| <xsl:if test="string(.) ='1' or string(.) ='true'"> |
| <xsl:attribute name="fo:hyphenation-ladder-count"><xsl:value-of select="2"/></xsl:attribute> |
| </xsl:if> |
| <!-- alert ending. --> |
| </xsl:template> |
| <!-- alert starting --> |
| <xsl:template match="字:是否允许单词断字_4194" mode="text"> |
| <xsl:if test="string(.) ='1' or string(.) ='true'"> |
| <xsl:attribute name="fo:hyphenate">true</xsl:attribute> |
| <xsl:attribute name="fo:hyphenation-ladder-count">no-limit</xsl:attribute> |
| <xsl:attribute name="fo:hyphenation-remain-char-count">2</xsl:attribute> |
| <xsl:attribute name="fo:hyphenation-push-char-count">2</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <!-- alert ending. --> |
| <xsl:template match="字:是否行首尾标点控制_4195" mode="paragraph"> |
| <xsl:attribute name="style:punctuation-wrap"><xsl:choose><xsl:when test="string(.)='1' or string(.)='true'">hanging</xsl:when><xsl:otherwise>simple</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否行首标点压缩_4196" mode="paragraph"> |
| <xsl:attribute name="style:punctuation-compress"><xsl:choose><xsl:when test=". = 'true'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否采用中文习惯首尾字符_4197" mode="paragraph"> |
| <xsl:attribute name="style:line-break"><xsl:choose><xsl:when test="string(.)='1' or string(.)='true'">strict</xsl:when><xsl:otherwise>normal</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否自动调整中英文字符间距_4198" mode="paragraph"> |
| <xsl:attribute name="style:text-autospace"><xsl:choose><xsl:when test="string(.)='1' or string(.)='true'">ideograph-alpha</xsl:when><xsl:when test="string(../字:是否自动调整中文与数字间距_4199) = '1' or string(../字:是否自动调整中文与数字间距_4199) = 'true'">ideograph-alpha</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否自动调整中文与数字间距_4199" mode="paragraph"> |
| <xsl:attribute name="style:text-autospace"><xsl:choose><xsl:when test="string(.)='1' or string(.)='true'">ideograph-alpha</xsl:when><xsl:when test="string(../字:是否自动调整中英文字符间距_4198) = '1' or string(../字:是否自动调整中英文字符间距_4198) = 'true'">ideograph-alpha</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:是否有网格自动调整右缩进_419A" mode="paragraph"> |
| </xsl:template> |
| <xsl:template name="defaultParaProAttr"> |
| <xsl:attribute name="style:text-autospace" select="'ideograph-alpha'"/> |
| <!--段落文字垂直对齐方式 UOF 默认值为base 与ODF(auto)不一致--> |
| <xsl:attribute name="style:vertical-align" select="'baseline'"/> |
| <xsl:attribute name="fo:text-align" select="'justify'"/> |
| </xsl:template> |
| <xsl:template name="ParaPropertiesAttr"> |
| <xsl:param name="tabstop"/> |
| <xsl:param name="Stylename"/> |
| <xsl:if test="$tabstop = 'default'"> |
| <xsl:if test="/uof:UOF_0000/规则:公用处理规则_B665/规则:文字处理_B66B/规则:文档设置_B600/规则:默认制表位位置_B604"> |
| <xsl:variable name="defaultab"> |
| <xsl:value-of select="/uof:UOF_0000/规则:公用处理规则_B665/规则:文字处理_B66B/规则:文档设置_B600/规则:默认制表位位置_B604"/> |
| </xsl:variable> |
| <xsl:if test="number($defaultab) != 0"> |
| <xsl:attribute name="style:tab-stop-distance"><xsl:value-of select="concat(number($defaultab),$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$Stylename = '' and not(/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102 = 'default'])"> |
| <xsl:call-template name="defaultParaProAttr"/> |
| </xsl:if> |
| <xsl:if test="$Stylename!=''"> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:call-template name="ParaPropertiesAttr"> |
| <xsl:with-param name="tabstop" select="$tabstop"/> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:大纲级别_417C'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:对齐_417D'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:缩进_411D'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:行距_417E'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:段间距_4180'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <!--<xsl:when test="name(.)='字:自动编号信息'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| --> |
| <xsl:when test="name(.)='字:孤行控制_418A'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:寡行控制_418B'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否段中不分页_418C'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否与下段同页_418D'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否段前分页_418E'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:边框_4133'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:填充_4134'"> |
| <xsl:apply-templates select="." mode="paragraphAttr"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否对齐网格_4190'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <!-- remove |
| <xsl:when test="name(.)='字:是否取消断字_4192'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| --> |
| <xsl:when test="name(.)='字:是否取消行号_4193'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否允许单词断字_4194'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否行首尾标点控制_4195'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否行首标点压缩_4196'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否采用中文习惯首尾字符_4197'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否自动调整中英文字符间距_4198'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否自动调整中文与数字间距_4199'"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| <!--<xsl:if test="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:文字排列方向_8042 = 't2b-r2l-0e-0w'"> |
| <xsl:attribute name="style:writing-mode"><xsl:value-of select="'rl-tb'"/></xsl:attribute> |
| <xsl:attribute name="fo:text-align"><xsl:value-of select="'end'"/></xsl:attribute> |
| </xsl:if>--> |
| </xsl:template> |
| <xsl:template name="字:制表位设置"> |
| <xsl:param name="Stylename"/> |
| <!--制表位各级叠加--> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:call-template name="字:制表位设置"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:apply-templates select="字:制表位设置_418F" mode="paragraph"/> |
| </xsl:for-each> |
| <xsl:apply-templates select="字:制表位设置_418F" mode="paragraph"/> |
| </xsl:template> |
| <xsl:template name="字:首字下沉"> |
| <xsl:param name="Stylename"/> |
| <xsl:choose> |
| <xsl:when test="字:首字下沉_4191"> |
| <xsl:apply-templates select="字:首字下沉_4191" mode="paragraph"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:call-template name="字:首字下沉"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="字:填充"> |
| <xsl:param name="Stylename"/> |
| <xsl:choose> |
| <xsl:when test="name(字:填充_4134/*)!='' and name(字:填充_4134/*)!='图:颜色_8004'"> |
| <xsl:apply-templates select="字:填充_4134" mode="paragraphElement"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:call-template name="字:填充"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="ParaPropertiesElement"> |
| <xsl:param name="Stylename"/> |
| <!--here will create new element--> |
| <style:tab-stops> |
| <xsl:call-template name="字:制表位设置"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </style:tab-stops> |
| <xsl:call-template name="字:首字下沉"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:call-template name="字:填充"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="ParaPropertiesAll"> |
| <xsl:param name="tabstop"/> |
| <xsl:param name="Stylename"/> |
| <xsl:call-template name="ParaPropertiesAttr"> |
| <xsl:with-param name="tabstop" select="$tabstop"/> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:call-template name="ParaPropertiesElement"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="FindParentStyleName"> |
| <xsl:param name="parentStyleName"/> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:段落式样_9917[@标识符_4100 = $parentStyleName]/@类型_4102 = 'custom'"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="$parentStyleName"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:if test="/uof:UOF_0000/式样:式样集_990B/式样:段落式样_9917[@标识符_4100 = $parentStyleName]/@基式样引用_4104"> |
| <xsl:call-template name="FindParentStyleName"> |
| <xsl:with-param name="parentStyleName" select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样_9917[@标识符_4100 = $parentStyleName]/@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="OneParagraphStyle"> |
| <xsl:attribute name="style:family">paragraph</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_4100"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@别名_4103 and not(@类型_4102='default')"> |
| <xsl:attribute name="style:display-name"><xsl:choose><xsl:when test="@别名_4103='正文'">Text body</xsl:when><xsl:when test="@别名_4103='页脚'">footer</xsl:when><xsl:otherwise><xsl:value-of select="@别名_4103"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@标识符_4100"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:call-template name="FindParentStyleName"> |
| <xsl:with-param name="parentStyleName" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| <!--<xsl:attribute name="style:parent-style-name"><xsl:value-of select="@基式样引用_4104"/></xsl:attribute>--> |
| </xsl:if> |
| <xsl:if test="@后继式样引用_4105"> |
| <xsl:attribute name="style:next-style-name"><xsl:value-of select="@后继式样引用_4105"/></xsl:attribute> |
| </xsl:if> |
| <xsl:element name="style:paragraph-properties"> |
| <!--演示文稿中存在占位符的文字的默认式样,uof文件中定义了默认式样--> |
| <xsl:if test="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102 = 'default']"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@类型_4102 = 'default']"> |
| <xsl:call-template name="defaultParaProAttr"/> |
| <xsl:call-template name="ParaPropertiesAttr"> |
| <!--xsl:with-param name="Stylename" select="@基式样引用_4104"/--> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <!--演示文稿中存在占位符的文字的默认式样,uof文件中定义了默认式样--> |
| <xsl:if test="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@字:类型 = 'default']/字:句属性_4158"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样_9912[@字:类型 = 'default']"> |
| <xsl:call-template name="TextPropertiesAll"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:for-each select="字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| <xsl:choose> |
| <xsl:when test="字:是否允许单词断字_4194 and (string(字:是否允许单词断字_4194)='1' or string(字:是否允许单词断字_4194)='true')"> |
| <xsl:for-each select="字:是否允许单词断字_4194"> |
| <xsl:apply-templates select="." mode="text"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="字:是否取消断字_4192"> |
| <xsl:for-each select="字:是否取消断字_4192"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:call-template name="HyphenateTextProperties"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="HyphenateTextProperties"> |
| <xsl:param name="Stylename"/> |
| <xsl:if test="$Stylename!=''"> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:call-template name="HyphenateTextProperties"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| <xsl:choose> |
| <xsl:when test="字:是否允许单词断字_4194 and (string(字:是否允许单词断字_4194)='1' or string(字:是否允许单词断字_4194)='true')"> |
| <xsl:for-each select="字:是否允许单词断字_4194"> |
| <xsl:apply-templates select="." mode="text"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="字:是否取消断字_4192"> |
| <xsl:for-each select="字:是否取消断字_4192"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TextPropertiesAll"> |
| <xsl:param name="Stylename"/> |
| <xsl:if test="$Stylename!=''"> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:call-template name="TextPropertiesAll"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:for-each select="字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="UOFParagraphStyle"> |
| <xsl:param name="Type"/> |
| <xsl:if test="@类型_4102=$Type"> |
| <xsl:choose> |
| <xsl:when test="$Type='default'"> |
| <xsl:element name="style:default-style"> |
| <xsl:attribute name="style:family">paragraph</xsl:attribute> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="tabstop" select="string('default')"/> |
| </xsl:call-template> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@类型_4102='default'][1]"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| <xsl:for-each select="字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$Type='custom'"> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneParagraphStyle"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$Type='auto'"> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneParagraphStyle"/> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="式样:段落式样_9912"> |
| <xsl:param name="Type"/> |
| <xsl:call-template name="UOFParagraphStyle"> |
| <xsl:with-param name="Type" select="$Type"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="ParaParentProperties"> |
| <xsl:param name="Stylename"/> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:call-template name="ParaParentProperties"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:call-template name="ParaPropertiesAttr"/> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="ParaParentPropertiesElement"> |
| <xsl:param name="Stylename"/> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:call-template name="ParaParentProperties"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="TextParaParentProperties"> |
| <xsl:param name="Stylename"/> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:call-template name="TextParaParentProperties"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:for-each select="字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="PageBreakStyle"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">paragraph</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('breakpage',generate-id(.))"/></xsl:attribute> |
| <xsl:variable name="Stylename"> |
| <xsl:value-of select="./字:段落属性_419B/@式样引用_419C"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$Stylename != ''"> |
| <xsl:call-template name="FindParentStyleName"> |
| <xsl:with-param name="parentStyleName" select="$Stylename"/> |
| </xsl:call-template> |
| <!---<xsl:attribute name="style:parent-style-name"><xsl:value-of select="$Stylename"/></xsl:attribute>--> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:attribute name="fo:break-before">page</xsl:attribute> |
| <xsl:call-template name="ParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:for-each select="字:段落属性_419B"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:for-each select="字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:for-each select="字:段落属性_419B"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="PageColumnStyle"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">paragraph</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('breakcolumn',generate-id(.))"/></xsl:attribute> |
| <xsl:variable name="Stylename"> |
| <xsl:value-of select="./字:段落属性_419B/@式样引用_419C"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$Stylename != ''"> |
| <xsl:call-template name="FindParentStyleName"> |
| <xsl:with-param name="parentStyleName" select="$Stylename"/> |
| </xsl:call-template> |
| <!---<xsl:attribute name="style:parent-style-name"><xsl:value-of select="$Stylename"/></xsl:attribute>--> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:attribute name="fo:break-before">column</xsl:attribute> |
| <xsl:call-template name="ParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:for-each select="字:段落属性_419B"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:for-each select="字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:for-each select="字:段落属性_419B"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="BodyParagraphProperties"> |
| <xsl:variable name="SpecialSection"> |
| <xsl:choose> |
| <xsl:when test="($document_type='text') and (name(..) = '字:文字处理文档_4225')"> |
| <xsl:variable name="SectPos"> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::*[1][name(.) = '字:分节_416A'] and preceding-sibling::*[1]/字:节属性_421B/字:节类型_41EA != 'continuous'"> |
| <!--xsl:call-template name="IsPrecedeType"> |
| <xsl:with-param name="nodename" select="'字:分节'"/> |
| <xsl:with-param name="pos" select="0"/> |
| </xsl:call-template--> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="number($SectPos) > 0"> |
| <xsl:for-each select="preceding-sibling::*[position() = $SectPos]"> |
| <xsl:choose> |
| <xsl:when test="字:节属性_421B/字:是否首页页眉页脚不同_41EE='true'"> |
| <xsl:value-of select="nsof:NeoShineOfficeID(字:节属性_421B/字:是否首页页眉页脚不同_41EE)"/> |
| </xsl:when> |
| <xsl:when test="字:节属性_421B/字:页码设置_4205/@字:首页显示 = 'false'"> |
| <xsl:value-of select="nsof:NeoShineOfficeID(字:节属性_421B/字:页码设置_4205)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="@名称_4166='RoStandard'"> |
| <xsl:value-of select="string('none')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="nsof:NeoShineOfficeID(.)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="string('none')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="string('none')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="PageNumberStart"> |
| <xsl:if test="($document_type='text') and (name(..) = '字:文字处理文档_4225')"> |
| <xsl:variable name="SectPos"> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::*[1][name(.) = '字:分节_416A'] and preceding-sibling::*[1]/字:节属性_421B/字:节类型_41EA != 'continuous'"> |
| <!--xsl:call-template name="IsPrecedeType"> |
| <xsl:with-param name="nodename" select="'字:分节'"/> |
| <xsl:with-param name="pos" select="0"/> |
| </xsl:call-template--> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="number($SectPos) > 0"> |
| <xsl:for-each select="preceding-sibling::*[position() = $SectPos]"> |
| <xsl:if test="字:节属性_421B/字:页码设置_4205/@起始编号_4152"> |
| <xsl:value-of select="字:节属性_421B/字:页码设置_4205/@起始编号_4152"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="((count(./字:段落属性_419B/child::*) = 1) and not(./字:段落属性_419B/字:自动编号信息_4186)) or (count(./字:段落属性_419B/child::*) > 1)"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">paragraph</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:if test="$SpecialSection != 'none'"> |
| <xsl:attribute name="style:master-page-name"><xsl:value-of select="$SpecialSection"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="Stylename"> |
| <xsl:value-of select="./字:段落属性_419B/@式样引用_419C"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$Stylename != ''"> |
| <xsl:call-template name="FindParentStyleName"> |
| <xsl:with-param name="parentStyleName" select="$Stylename"/> |
| </xsl:call-template> |
| <!---<xsl:attribute name="style:parent-style-name"><xsl:value-of select="$Stylename"/></xsl:attribute>--> |
| <xsl:element name="style:paragraph-properties"> |
| <!--xsl:call-template name="ParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template--> |
| <xsl:for-each select="字:段落属性_419B"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:for-each select="字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| <xsl:choose> |
| <xsl:when test="字:段落属性_419B/字:是否允许单词断字_4194 and (string(字:段落属性_419B/字:是否允许单词断字_4194)='1' or string(字:段落属性_419B/字:是否允许单词断字_4194)='true')"> |
| <xsl:for-each select="字:段落属性_419B/字:是否允许单词断字_4194"> |
| <xsl:apply-templates select="." mode="text"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="字:段落属性_419B/字:是否取消断字_4192"> |
| <xsl:for-each select="字:段落属性_419B/字:是否取消断字_4192"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:for-each select="字:段落属性_419B"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| <xsl:choose> |
| <xsl:when test="字:段落属性_419B/字:是否允许单词断字_4194 and (string(字:段落属性_419B/字:是否允许单词断字_4194)='1' or string(字:段落属性_419B/字:是否允许单词断字_4194)='true')"> |
| <xsl:for-each select="字:段落属性_419B/字:是否允许单词断字_4194"> |
| <xsl:apply-templates select="." mode="text"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="字:段落属性_419B/字:是否取消断字_4192"> |
| <xsl:for-each select="字:段落属性_419B/字:是否取消断字_4192"> |
| <xsl:apply-templates select="." mode="paragraph"/> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:if test="($SpecialSection !='none')"> |
| <xsl:variable name="Stylename"> |
| <xsl:value-of select="./字:段落属性_419B/@式样引用_419C"/> |
| </xsl:variable> |
| <xsl:if test="$Stylename"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">paragraph</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:if test="$SpecialSection != 'none'"> |
| <xsl:attribute name="style:master-page-name"><xsl:value-of select="$SpecialSection"/></xsl:attribute> |
| </xsl:if> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:if test="$PageNumberStart != ''"> |
| <xsl:attribute name="style:page-number"><xsl:value-of select="$PageNumberStart"/></xsl:attribute> |
| </xsl:if> |
| <xsl:call-template name="ParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:call-template name="ParaParentPropertiesElement"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:element> |
| </xsl:if> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="($document_type='text') and preceding-sibling::*[1]//字:分页符_4163"> |
| <xsl:call-template name="PageBreakStyle"/> |
| </xsl:if> |
| <xsl:if test="($document_type='text') and .//字:分页符_4163"> |
| <xsl:call-template name="PageBreakStyle"/> |
| </xsl:if> |
| <xsl:if test="($document_type='text') and preceding-sibling::*[1]//字:分栏符_4160"> |
| <xsl:call-template name="PageColumnStyle"/> |
| </xsl:if> |
| <xsl:if test="($document_type='text') and .//字:分栏符_4160"> |
| <xsl:call-template name="PageColumnStyle"/> |
| </xsl:if> |
| <!--图形文字的文字排列方向,水平从右至左,需要生成新的式样--> |
| <xsl:if test="ancestor::*[name() = '图:文本_803C']/图:文字排列方向_8042='r2l-t2b-90e-90w' or ancestor::*[name() = '图:文本_803C']/图:文字排列方向_8042='t2b-r2l-0e-0w' or ancestor::*[name() = '图:文本_803C']/图:文字排列方向_8042='r2l-t2b-0e-90w'"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">paragraph</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:variable name="Stylename" select="./字:段落属性_419B/@式样引用_419C"/> |
| <xsl:choose> |
| <xsl:when test="$Stylename != ''"> |
| <!--<xsl:attribute name="style:parent-style-name"><xsl:value-of select="$Stylename"/></xsl:attribute>--> |
| <xsl:call-template name="FindParentStyleName"> |
| <xsl:with-param name="parentStyleName" select="$Stylename"/> |
| </xsl:call-template> |
| <style:paragraph-properties style:writing-mode="rl-tb" fo:text-align="end"> |
| <xsl:call-template name="ParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:for-each select="字:段落属性_419B"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </style:paragraph-properties> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| <xsl:for-each select="字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <style:paragraph-properties style:writing-mode="rl-tb" fo:text-align="end"> |
| <xsl:for-each select="字:段落属性_419B"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$Stylename"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </style:paragraph-properties> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <!-- |
| <xsl:template match="字:缩进_411D" mode="liststyle"> |
| <xsl:if test="字:左"> |
| <xsl:choose> |
| <xsl:when test="字:左/字:绝对"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(字:左/字:绝对/@字:值,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:左/字:相对"> |
| <xsl:variable name="a1"> |
| <xsl:value-of select="字:左/字:相对/@字:值"/> |
| </xsl:variable> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat($a1 * 10.5, 'pt')"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="字:首行"> |
| <xsl:variable name="a3"> |
| <xsl:value-of select="字:首行/字:相对/@字:值"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="字:首行/字:绝对"> |
| <xsl:variable name="indent"> |
| <xsl:value-of select="number(字:首行/字:绝对/@字:值) - number(字:左/字:绝对/@字:值)"/> |
| </xsl:variable> |
| <xsl:attribute name="fo:text-indent"><xsl:value-of select="concat($indent, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:首行/字:相对"> |
| <xsl:variable name="a3"> |
| <xsl:value-of select="字:首行/字:相对/@字:值"/> |
| </xsl:variable> |
| <xsl:variable name="a1"> |
| <xsl:choose> |
| <xsl:when test="字:左/字:相对"><xsl:value-of select="字:左/字:相对/@字:值"/></xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="fo:text-indent"><xsl:value-of select="concat(($a3 - $a1) * 10.5, 'pt')"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template>--> |
| <xsl:template match="字:缩进_411D" mode="liststyle"> |
| <xsl:variable name="fontcharsize"> |
| <xsl:for-each select=".."> |
| <xsl:call-template name="ParaCharSize"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:if test="字:首行_4111"> |
| <xsl:choose> |
| <xsl:when test="字:首行_4111/字:绝对_4107"> |
| <xsl:attribute name="fo:text-indent"><xsl:value-of select="concat(字:首行_4111/字:绝对_4107/@值_410F, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:首行_4111/字:相对_4109"> |
| <xsl:variable name="a3" select="字:首行_4111/字:相对_4109/@值_4108"/> |
| <xsl:attribute name="fo:text-indent"><xsl:value-of select="concat($a3 * $fontcharsize, 'pt')"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="字:左_410E"> |
| <xsl:choose> |
| <xsl:when test="字:左_410E/字:绝对_4107"> |
| <xsl:variable name="textIndent"> |
| <xsl:choose> |
| <xsl:when test="字:首行_4111/字:绝对_4107/@值_410F"> |
| <xsl:value-of select="字:首行_4111/字:绝对_4107/@值_410F"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="marginleft"> |
| <xsl:choose> |
| <xsl:when test="number($textIndent < 0)"> |
| <xsl:value-of select="number(字:左_410E/字:绝对_4107/@值_410F) - number($textIndent)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(字:左_410E/字:绝对_4107/@值_410F)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat($marginleft, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:左_410E/字:相对_4109"> |
| <xsl:variable name="a3"> |
| <xsl:choose> |
| <xsl:when test="字:首行_4111/字:相对_4109"> |
| <xsl:value-of select="字:首行_4111/字:相对_4109/@值_4108"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="a1" select="字:左_410E/字:相对_4109/@值_4108"/> |
| <!--<xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(($a1 - $a3) * 10.5, 'pt')"/></xsl:attribute>--> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(($a1 - $a3) * $fontcharsize, 'pt')"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TextDisplayLevels"> |
| <xsl:param name="NumberFormatDisplay"/> |
| <xsl:param name="Level"/> |
| <xsl:variable name="NumberFormatDisplayAfter"> |
| <xsl:value-of select="substring-after($NumberFormatDisplay,'%')"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="substring-after($NumberFormatDisplayAfter,'%')"> |
| <xsl:call-template name="TextDisplayLevels"> |
| <xsl:with-param name="NumberFormatDisplay" select="$NumberFormatDisplayAfter"/> |
| <xsl:with-param name="Level" select="number($Level)+1"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:if test="not(number($Level)=1)"> |
| <xsl:attribute name="text:display-levels"><xsl:value-of select="$Level"/></xsl:attribute> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="ListLevelProperties"> |
| <xsl:param name="type"/> |
| <xsl:element name="style:list-level-properties"> |
| <xsl:if test="字:编号对齐方式_4113"> |
| <xsl:variable name="alignformat"> |
| <xsl:choose> |
| <xsl:when test="字:编号对齐方式_4113='center' ">center</xsl:when> |
| <xsl:when test="字:编号对齐方式_4113='right' ">end</xsl:when> |
| <xsl:otherwise>left</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="fo:text-align"><xsl:value-of select="$alignformat"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$type = 'image'"> |
| <xsl:attribute name="style:vertical-pos">middle</xsl:attribute> |
| <xsl:attribute name="style:vertical-rel">line</xsl:attribute> |
| <xsl:variable name="imagewidth"> |
| <xsl:choose> |
| <xsl:when test="字:图片符号_411B/@宽_C605"> |
| <xsl:value-of select="字:图片符号_411B/@宽_C605"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0.27 div $other-to-cm-conversion-factor)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="imageheight"> |
| <xsl:choose> |
| <xsl:when test="字:图片符号_411B/@长_C604"> |
| <xsl:value-of select="字:图片符号_411B/@长_C604"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0.27 div $other-to-cm-conversion-factor)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="fo:width"><xsl:value-of select="concat($imagewidth,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:height"><xsl:value-of select="concat($imageheight,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <!--演中编号的对齐--> |
| <xsl:choose> |
| <xsl:when test="$document_type='presentation'"> |
| <xsl:if test="字:缩进_411D/字:左_410E/字:绝对_4107"> |
| <xsl:attribute name="text:space-before"><xsl:value-of select="concat(字:缩进_411D/字:左_410E/字:绝对_4107/@值_410F,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:缩进_411D/字:首行_4111/字:绝对_4107"> |
| <xsl:attribute name="text:min-label-width"><xsl:value-of select="concat(字:缩进_411D/字:首行_4111/字:绝对_4107/@值_410F,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="text:list-level-position-and-space-mode">label-alignment</xsl:attribute> |
| <xsl:element name="style:list-level-label-alignment"> |
| <xsl:if test="字:尾随字符_4114"> |
| <xsl:variable name="follow"> |
| <xsl:choose> |
| <xsl:when test="字:尾随字符_4114 = 'space'">space</xsl:when> |
| <xsl:when test="字:尾随字符_4114 = 'tab'">listtab</xsl:when> |
| <xsl:otherwise>nothing</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="text:label-followed-by"><xsl:value-of select="$follow"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:制表符位置_411E"> |
| <xsl:attribute name="text:list-tab-stop-position"><xsl:value-of select="concat(字:制表符位置_411E,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:缩进_411D"> |
| <xsl:apply-templates select="字:缩进_411D" mode="liststyle"/> |
| </xsl:if> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| <xsl:for-each select="字:符号字体_4116"> |
| <xsl:element name="style:text-properties"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="BulletList"> |
| <xsl:element name="text:list-level-style-bullet"> |
| <xsl:attribute name="text:level"><xsl:value-of select="number(@级别值_4121)"/></xsl:attribute> |
| <xsl:attribute name="text:bullet-char"><xsl:value-of select="字:项目符号_4115"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="count(字:符号字体_4116/child::*)=0 and 字:符号字体_4116/@式样引用_4247"> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="字:符号字体_4116/@式样引用_4247"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="generate-id(字:符号字体_4116)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:call-template name="ListLevelProperties"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="ImageList"> |
| <xsl:element name="text:list-level-style-image"> |
| <xsl:attribute name="text:level"><xsl:value-of select="number(@级别值_4121)"/></xsl:attribute> |
| <xsl:if test="字:图片符号_411B"> |
| <xsl:variable name="gid"> |
| <xsl:value-of select="字:图片符号_411B/@引用_411C"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="key('other-styles',$gid)/对象:路径_D703"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="replace(key('other-styles',$gid)/对象:路径_D703,'/data','Pictures')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="key('other-styles',$gid)/对象:数据_D702"> |
| <xsl:call-template name="BinaryGraphic"> |
| <xsl:with-param name="refGraphic" select="$gid"/> |
| </xsl:call-template> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:call-template name="ListLevelProperties"> |
| <xsl:with-param name="type" select="'image'"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="NumberList"> |
| <xsl:element name="text:list-level-style-number"> |
| <xsl:attribute name="text:level"><xsl:value-of select="number(@级别值_4121)"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="count(字:符号字体_4116/child::*)=0 and 字:符号字体_4116/@式样引用_4247"> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="字:符号字体_4116/@式样引用_4247"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="generate-id(字:符号字体_4116)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="字:起始编号_411F"> |
| <xsl:attribute name="text:start-value"><xsl:value-of select="字:起始编号_411F"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:是否使用正规格式_4120"> |
| <xsl:variable name="regular"> |
| <xsl:choose> |
| <xsl:when test="字:是否使用正规格式_4120='true' or 字:是否使用正规格式_4120='1'">1</xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="text:num-regular-exp"><xsl:value-of select="$regular"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:编号格式_4119"> |
| <xsl:variable name="format"> |
| <xsl:call-template name="NumberFormat"> |
| <xsl:with-param name="oo_format" select="字:编号格式_4119"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="style:num-format"><xsl:value-of select="$format"/></xsl:attribute> |
| <xsl:variable name="NumSuffix"> |
| <xsl:variable name="suffix"> |
| <xsl:choose> |
| <xsl:when test="字:编号格式_4119='decimal-enclosed-fullstop'"> |
| <xsl:value-of select="'.'"/> |
| </xsl:when> |
| <xsl:when test="字:编号格式_4119='decimal-enclosed-paren'"> |
| <xsl:value-of select="')'"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="concat($suffix,substring-after(字:编号格式表示_411A,concat('%',@级别值_4121)))"/> |
| </xsl:variable> |
| <xsl:if test="$NumSuffix !=''"> |
| <xsl:attribute name="style:num-suffix"><xsl:value-of select="$NumSuffix"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="NumPrefix"> |
| <xsl:variable name="prefix"> |
| <xsl:if test="字:编号格式_4119='decimal-enclosed-paren'"> |
| <xsl:value-of select="'('"/> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:value-of select="concat(substring-before(字:编号格式表示_411A,'%'),$prefix)"/> |
| </xsl:variable> |
| <xsl:if test="$NumPrefix !=''"> |
| <xsl:attribute name="style:num-prefix"><xsl:value-of select="$NumPrefix"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:编号格式表示_411A"> |
| <xsl:call-template name="TextDisplayLevels"> |
| <xsl:with-param name="NumberFormatDisplay"> |
| <xsl:value-of select="字:编号格式表示_411A"/> |
| </xsl:with-param> |
| <xsl:with-param name="Level"> |
| <xsl:value-of select="1"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| <xsl:call-template name="ListLevelProperties"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="字:自动编号_4124" mode="liststyle"> |
| <xsl:element name="text:list-style"> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_4100"/></xsl:attribute> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@名称_4122"/></xsl:attribute> |
| <xsl:for-each select="字:级别_4112"> |
| <xsl:choose> |
| <xsl:when test="字:项目符号_4115"> |
| <xsl:call-template name="BulletList"/> |
| </xsl:when> |
| <xsl:when test="字:图片符号_411B"> |
| <xsl:call-template name="ImageList"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="NumberList"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="字:宽度_41A1" mode="texttable"> |
| <xsl:param name="tableAlign"/> |
| <xsl:choose> |
| <xsl:when test="@相对宽度_41C0"> |
| <xsl:variable name="reltblw"> |
| <xsl:value-of select="@相对宽度_41C0"/> |
| </xsl:variable> |
| <!-- alert staring |
| <xsl:variable name="pagew"> |
| <xsl:for-each select="key('textTable',../@标识符_4100)"> |
| <xsl:value-of select="preceding::字:分节_416A[1]/字:节属性_421B/字:纸张_41EC/@宽_C605"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="leftm"> |
| <xsl:for-each select="key('textTable',../@标识符_4100)"> |
| <xsl:value-of select="preceding::字:分节_416A[1]/字:节属性_421B/字:页边距_41EB/@左_C608"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="rightm"> |
| <xsl:for-each select="key('textTable',../@标识符_4100)"> |
| <xsl:value-of select="preceding::字:分节_416A[1]/字:节属性_421B/字:页边距_41EB/@右_C60A"/> |
| </xsl:for-each> |
| </xsl:variable>--> |
| <xsl:variable name="textTableAttrUse"> |
| <xsl:value-of select="../@标识符_4100"/> |
| </xsl:variable> |
| <xsl:variable name="page"> |
| <xsl:choose> |
| <xsl:when test="$textTableAttrUse"> |
| <xsl:for-each select="key('textTable',../@标识符_4100)"> |
| <xsl:value-of select="preceding::字:分节_416A[1]"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="../../preceding::字:分节_416A[1]"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="pagew"> |
| <xsl:choose> |
| <xsl:when test="$page/字:节属性_421B/字:纸张_41EC/@宽_C605"> |
| <xsl:value-of select="$page/字:节属性_421B/字:纸张_41EC/@宽_C605"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="21"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="leftm"> |
| <xsl:choose> |
| <xsl:when test="$page/字:节属性_421B/字:节属性_421B/字:页边距_41EB/@左_C608"> |
| <xsl:value-of select="$page/字:节属性_421B/字:页边距_41EB/@左_C608"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="3.175"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="rightm"> |
| <xsl:choose> |
| <xsl:when test="$page/字:节属性_421B/字:节属性_421B/字:页边距_41EB/@右_C60A8"> |
| <xsl:value-of select="$page/字:节属性_421B/字:页边距_41EB/@右_C60A"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="3.175"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!-- alert ending. --> |
| <xsl:attribute name="style:rel-width"><xsl:value-of select="concat(number(@相对宽度_41C0),'%')"/></xsl:attribute> |
| <xsl:attribute name="style:width"><xsl:value-of select="concat((number($pagew)-number($leftm)-number($rightm)) * number($reltblw) div 100,$uofUnit)"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="$tableAlign='left'"> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat((number($pagew)-number($leftm)-number($rightm)) *(1- number($reltblw) div 100),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tableAlign='right'"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat((number($pagew)-number($leftm)-number($rightm)) *(1- number($reltblw) div 100),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat((number($pagew)-number($leftm)-number($rightm)) *(1- number($reltblw) div 100),$uofUnit)"/></xsl:attribute> |
| <!--<xsl:attribute name="table:align">margins</xsl:attribute>--> |
| <xsl:attribute name="table:align">left</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="./@绝对宽度_41BF"> |
| <xsl:attribute name="style:width"><xsl:value-of select="concat(number(@绝对宽度_41BF),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:对齐_41C3" mode="texttable"> |
| <xsl:attribute name="table:align"><xsl:value-of select="."/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:左缩进_41C4" mode="texttable"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(number(.),$uofUnit)"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:绕排_41C5" mode="texttable"> |
| </xsl:template> |
| <xsl:template match="字:绕排边距_41C6" mode="texttable"> |
| <xsl:if test="@左_C608"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(@左_C608, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@右_C60A"> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat(@右_C60A, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@上_C609"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat(@上_C609,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@下_C60B"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat(@下_C60B,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:位置_41C7" mode="texttable"> |
| <xsl:variable name="verticalRel"> |
| <xsl:choose> |
| <xsl:when test="uof:垂直_410D/@相对于_4103='page'">page</xsl:when> |
| <xsl:when test="uof:垂直_410D/@相对于_4103='paragraph'">paragraph</xsl:when> |
| <xsl:when test="uof:垂直_410D/@相对于_4103='margin'">page-content</xsl:when> |
| <xsl:when test="uof:垂直_410D/@相对于_4103='line'">line</xsl:when> |
| <xsl:when test="uof:垂直_410D/@相对于_410C='page'">page</xsl:when> |
| <xsl:when test="uof:垂直_410D/@相对于_410C='paragraph'">paragraph</xsl:when> |
| <xsl:when test="uof:垂直_410D/@相对于_410C='margin'">page-content</xsl:when> |
| <xsl:when test="uof:垂直_410D/@相对于_410C='line'">line</xsl:when> |
| <xsl:otherwise>paragraph</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="horizontalRel"> |
| <xsl:choose> |
| <xsl:when test="uof:水平_4106/@相对于_4103='margin'">page-content</xsl:when> |
| <xsl:when test="uof:水平_4106/@相对于_4103='page'">page</xsl:when> |
| <xsl:when test="uof:水平_4106/@相对于_4103='char'">char</xsl:when> |
| <xsl:when test="uof:水平_4106/@相对于_4103='column'">paragraph</xsl:when> |
| <xsl:when test="uof:水平_4106/@相对于_410C='margin'">page-content</xsl:when> |
| <xsl:when test="uof:水平_4106/@相对于_410C='page'">page</xsl:when> |
| <xsl:when test="uof:水平_4106/@相对于_410C='char'">char</xsl:when> |
| <xsl:when test="uof:水平_4106/@相对于_410C='column'">paragraph</xsl:when> |
| <xsl:otherwise>paragraph</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:vertical-rel"><xsl:value-of select="$verticalRel"/></xsl:attribute> |
| <xsl:attribute name="style:horizontal-rel"><xsl:value-of select="$horizontalRel"/></xsl:attribute> |
| <xsl:variable name="verticalPos"> |
| <xsl:choose> |
| <xsl:when test="string(uof:垂直_410D/uof:相对_4109/@值_410B) != '0'">from-top</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="uof:垂直_410D/uof:相对_4109/@参考点_410A"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="horizontalPos"> |
| <xsl:choose> |
| <xsl:when test="string(uof:水平_4106/uof:相对_4109/@值_410B) != '0'">left</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="uof:水平_4106/uof:相对_4109/@参考点_410A"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:vertical-pos"><xsl:value-of select="$verticalPos"/></xsl:attribute> |
| <xsl:attribute name="style:horizontal-pos"><xsl:value-of select="$horizontalPos"/></xsl:attribute> |
| <xsl:if test="uof:垂直_410D/uof:相对_4109/@值_410B"> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat(uof:垂直_410D/uof:相对_4109/@值_410B,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="uof:水平_4106/uof:相对_4109/@值_410B"> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat(uof:水平_4106/uof:相对_4109/@值_410B,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <!-- fo:margin-left --> |
| <xsl:attribute name="fo:margin-left"><xsl:if test="uof:水平_4106/uof:绝对_4107/@值_4108"><xsl:value-of select="concat( uof:水平_4106/uof:绝对_4107/@值_4108, $uofUnit)"/></xsl:if></xsl:attribute> |
| </xsl:template> |
| <xsl:template name="TableBorderToCell"> |
| <xsl:param name="pTableBorder"/> |
| <xsl:param name="IsFirstRow"/> |
| <xsl:param name="IsLastRow"/> |
| <xsl:param name="IsFirstCell"/> |
| <xsl:param name="IsLastCell"/> |
| <xsl:choose> |
| <xsl:when test="$IsFirstRow='true' and $IsLastRow='true'"> |
| <xsl:choose> |
| <xsl:when test="$IsFirstCell='true' and $IsLastCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$IsFirstCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:内部竖线_C61A"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$IsLastCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:内部竖线_C61A"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:内部竖线_C61A"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:内部竖线_C61A"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$IsFirstRow='true'"> |
| <xsl:choose> |
| <xsl:when test="$IsFirstCell='true' and $IsLastCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$IsFirstCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:内部竖线_C61A"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$IsLastCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:内部竖线_C61A"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:内部竖线_C61A"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:内部竖线_C61A"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$IsLastRow='true'"> |
| <xsl:choose> |
| <xsl:when test="$IsFirstCell='true' and $IsLastCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$IsFirstCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:内部竖线_C61A"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$IsLastCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:内部竖线_C61A"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:内部竖线_C61A"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:内部竖线_C61A"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="$IsFirstCell='true' and $IsLastCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$IsFirstCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:内部竖线_C61A"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$IsLastCell='true'"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:内部竖线_C61A"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pDown" select="$pTableBorder/uof:内部横线_C619"/> |
| <xsl:with-param name="pLeft" select="$pTableBorder/uof:内部竖线_C61A"/> |
| <xsl:with-param name="pRight" select="$pTableBorder/uof:内部竖线_C61A"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:边框_4133" mode="texttable"> |
| <!-- it should be calculated in texttablecell element |
| <xsl:call-template name="CommonBorder"/> |
| <xsl:if test="uof:上/@uof:阴影='true'or uof:上/@uof:阴影='1'"> |
| <xsl:if test="uof:左/@uof:阴影='true'or uof:左/@uof:阴影='1'"> |
| <xsl:attribute name="style:shadow">#808080 -0.18cm -0.18cm</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="uof:上/@uof:阴影='true'or uof:上/@uof:阴影='1'"> |
| <xsl:if test="uof:右/@uof:阴影='true'or uof:右/@uof:阴影='1'"> |
| <xsl:attribute name="style:shadow">#808080 0.18cm -0.18cm</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="uof:下_C616/@uof:阴影='true'or uof:下_C616/@uof:阴影='1'"> |
| <xsl:if test="uof:左/@uof:阴影='true'or uof:左/@uof:阴影='1'"> |
| <xsl:attribute name="style:shadow">#808080 -0.18cm 0.18cm</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="uof:下_C616/@uof:阴影='true'or uof:下_C616/@uof:阴影='1'"> |
| <xsl:if test="uof:右/@uof:阴影='true'or uof:右/@uof:阴影='1'"> |
| <xsl:attribute name="style:shadow">#808080 0.18cm 0.18cm</xsl:attribute> |
| </xsl:if> |
| </xsl:if>--> |
| </xsl:template> |
| <xsl:template match="字:填充_4134" mode="texttableAttr"> |
| <xsl:call-template name="CommonFillAttr"/> |
| </xsl:template> |
| <xsl:template match="字:填充_4134" mode="texttableElement"> |
| <xsl:call-template name="CommonFillElement"/> |
| </xsl:template> |
| <xsl:template match="字:是否自动调整大小_41C8" mode="texttable"> |
| </xsl:template> |
| <xsl:template match="字:默认默认单元格边距_41CA" mode="texttable"> |
| </xsl:template> |
| <xsl:template match="字:默认单元格间距_41CB" mode="texttable"> |
| <xsl:if test=".!=''"> |
| <xsl:attribute name="style:table-cell-spacing"><xsl:value-of select="concat(number(.),$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TablePropertiesAttr"> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:宽度_41A1'"> |
| <!-- alert staring |
| <xsl:apply-templates select="." mode="texttable"/>--> |
| <xsl:apply-templates select="." mode="texttable"> |
| <xsl:with-param name="tableAlign" select="../字:对齐_41C3"/> |
| </xsl:apply-templates> |
| <!-- alert ending. --> |
| </xsl:when> |
| <xsl:when test="name(.)='字:列宽集_41C1'"> |
| <!-- don't process this node here, it contains a element--> |
| </xsl:when> |
| <xsl:when test="name(.)='字:对齐_41C3'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:左缩进_41C4'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:绕排_41C5'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:绕排边距_41C6'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:位置_41C7'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:边框_4133'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:填充_4134'"> |
| <xsl:apply-templates select="." mode="texttableAttr"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否自动调整大小_41C8'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:默认默认单元格边距_41CA'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:默认单元格间距_41CB'"> |
| <xsl:apply-templates select="." mode="texttable"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| <xsl:if test="not(字:宽度_41A1) and 字:列宽集_41C1"> |
| <xsl:variable name="tblsize" select="sum(字:列宽集_41C1/字:列宽_41C2)"/> |
| <xsl:attribute name="style:width"><xsl:value-of select="concat($tblsize,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TablePropertiesElement"> |
| <xsl:if test="字:填充_4134"> |
| <xsl:apply-templates select="字:填充_4134" mode="texttableElement"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TablePropertiesAll"> |
| <xsl:call-template name="TablePropertiesAttr"/> |
| <xsl:call-template name="TablePropertiesElement"/> |
| </xsl:template> |
| <xsl:template name="OneTextTableStyle"> |
| <xsl:attribute name="style:family">table</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_4100"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@别名_4103"> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@别名_4103"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@标识符_4100"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="@基式样引用_4104"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@后继式样引用_4105"> |
| <xsl:attribute name="style:next-style-name"><xsl:value-of select="@后继式样引用_4105"/></xsl:attribute> |
| </xsl:if> |
| <xsl:element name="style:table-properties"> |
| <xsl:attribute name="table:border-model">collapsing</xsl:attribute> |
| <xsl:call-template name="TablePropertiesAll"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="式样:文字表式样_9918"> |
| <xsl:param name="Type"/> |
| <xsl:if test="@类型_4102=$Type"> |
| <xsl:choose> |
| <xsl:when test="$Type='default'"> |
| <xsl:element name="style:default-style"> |
| <xsl:attribute name="style:family">table</xsl:attribute> |
| <xsl:element name="style:table-properties"> |
| <xsl:attribute name="table:border-model">collapsing</xsl:attribute> |
| <xsl:call-template name="TablePropertiesAll"/> |
| </xsl:element> |
| </xsl:element> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneTextTableStyle"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$Type='custom'"> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneTextTableStyle"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$Type='auto'"> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneTextTableStyle"/> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:填充_4134" mode="texttablecell"> |
| <xsl:call-template name="CommonFill"/> |
| </xsl:template> |
| <xsl:template match="字:边框_4133" mode="texttablecell"> |
| <!--<xsl:call-template name="CommonBorder"/>--> |
| </xsl:template> |
| <xsl:template name="ParentTextTableBorder"> |
| <xsl:param name="IsFirstRow"/> |
| <xsl:param name="IsLastRow"/> |
| <xsl:param name="IsFirstCell"/> |
| <xsl:param name="IsLastCell"/> |
| <xsl:param name="Stylename"/> |
| <xsl:for-each select="key('uof-table-styles',$Stylename)"> |
| <xsl:choose> |
| <xsl:when test="@基式样引用_4104"> |
| <xsl:call-template name="ParentTextTableBorder"> |
| <xsl:with-param name="IsFirstRow" select="$IsFirstRow"/> |
| <xsl:with-param name="IsLastRow" select="$IsLastRow"/> |
| <xsl:with-param name="IsFirstCell" select="$IsFirstCell"/> |
| <xsl:with-param name="IsLastCell" select="$IsLastCell"/> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:文字表式样集_9917/式样:文字表式样_9918[@字:类型='default'][1]"> |
| <xsl:call-template name="TableBorderToCell"> |
| <xsl:with-param name="pTableBorder" select="字:文字表边框_4227"/> |
| <xsl:with-param name="IsFirstRow" select="$IsFirstRow"/> |
| <xsl:with-param name="IsLastRow" select="$IsLastRow"/> |
| <xsl:with-param name="IsFirstCell" select="$IsFirstCell"/> |
| <xsl:with-param name="IsLastCell" select="$IsLastCell"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:call-template name="TableBorderToCell"> |
| <xsl:with-param name="pTableBorder" select="字:文字表边框_4227"/> |
| <xsl:with-param name="IsFirstRow" select="$IsFirstRow"/> |
| <xsl:with-param name="IsLastRow" select="$IsLastRow"/> |
| <xsl:with-param name="IsFirstCell" select="$IsFirstCell"/> |
| <xsl:with-param name="IsLastCell" select="$IsLastCell"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="TextTableBorder"> |
| <xsl:param name="pCell"/> |
| <xsl:param name="pTable"/> |
| <xsl:param name="pTableStyle"/> |
| <xsl:param name="IsFirstRow"/> |
| <xsl:param name="IsLastRow"/> |
| <xsl:param name="IsFirstCell"/> |
| <xsl:param name="IsLastCell"/> |
| <xsl:if test="$pTableStyle"> |
| <xsl:call-template name="ParentTextTableBorder"> |
| <xsl:with-param name="IsFirstRow" select="$IsFirstRow"/> |
| <xsl:with-param name="IsLastRow" select="$IsLastRow"/> |
| <xsl:with-param name="IsFirstCell" select="$IsFirstCell"/> |
| <xsl:with-param name="IsLastCell" select="$IsLastCell"/> |
| <xsl:with-param name="Stylename" select="$pTableStyle/@基式样引用_4104"/> |
| </xsl:call-template> |
| <xsl:call-template name="TableBorderToCell"> |
| <xsl:with-param name="pTableBorder" select="$pTableStyle/字:文字表边框_4227"/> |
| <xsl:with-param name="IsFirstRow" select="$IsFirstRow"/> |
| <xsl:with-param name="IsLastRow" select="$IsLastRow"/> |
| <xsl:with-param name="IsFirstCell" select="$IsFirstCell"/> |
| <xsl:with-param name="IsLastCell" select="$IsLastCell"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:if test="$pTable"> |
| <xsl:call-template name="TableBorderToCell"> |
| <xsl:with-param name="pTableBorder" select="$pTable/字:文字表属性_41CC/字:文字表边框_4227"/> |
| <xsl:with-param name="IsFirstRow" select="$IsFirstRow"/> |
| <xsl:with-param name="IsLastRow" select="$IsLastRow"/> |
| <xsl:with-param name="IsFirstCell" select="$IsFirstCell"/> |
| <xsl:with-param name="IsLastCell" select="$IsLastCell"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:if test="$pCell"> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="$pCell/字:单元格属性_41B7/字:边框_4133/uof:上_C614"/> |
| <xsl:with-param name="pDown" select="$pCell/字:单元格属性_41B7/字:边框_4133/uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="$pCell/字:单元格属性_41B7/字:边框_4133/uof:左_C613"/> |
| <xsl:with-param name="pRight" select="$pCell/字:单元格属性_41B7/字:边框_4133/uof:右_C615"/> |
| <xsl:with-param name="pDiagon1" select="$pCell/字:单元格属性_41B7/字:边框_4133/uof:对角线1"/> |
| <xsl:with-param name="pDiagon2" select="$pCell/字:单元格属性_41B7/字:边框_4133/uof:对角线2"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TextTableCellPadding"> |
| <xsl:param name="Style"/> |
| <xsl:choose> |
| <xsl:when test="$Style[1]/@左_C608"> |
| <xsl:attribute name="fo:padding-left"><xsl:value-of select="concat(number($Style[1]/@左_C608),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$Style[1]/@右_C60A"> |
| <xsl:attribute name="fo:padding-right"><xsl:value-of select="concat(number($Style[1]/@右_C60A),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$Style[1]/@上_C609"> |
| <xsl:attribute name="fo:padding-top"><xsl:value-of select="concat(number($Style[1]/@上_C609),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$Style[1]/@下_C60B"> |
| <xsl:attribute name="fo:padding-bottom"><xsl:value-of select="concat(number($Style[1]/@下_C60B),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="UOFTextCellPadding"> |
| <xsl:param name="pCellPad"/> |
| <xsl:param name="pTablePad"/> |
| <xsl:param name="pTableStylePad"/> |
| <xsl:if test="$pTableStylePad"> |
| <xsl:call-template name="TextTableCellPadding"> |
| <xsl:with-param name="Style" select="$pTableStylePad"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:if test="$pTablePad"> |
| <xsl:call-template name="TextTableCellPadding"> |
| <xsl:with-param name="Style" select="$pTablePad"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:if test="$pCellPad"> |
| <xsl:call-template name="TextTableCellPadding"> |
| <xsl:with-param name="Style" select="$pCellPad"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:表行属性_41BD" mode="texttable"> |
| <xsl:if test="count(./child::*)"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">table-row</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(..)"/></xsl:attribute> |
| <xsl:element name="style:table-row-properties"> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:高度_41B8'"> |
| <xsl:if test="@固定值_41B9"> |
| <xsl:attribute name="style:row-height"><xsl:value-of select="concat(number(@固定值_41B9),$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@最小值_41BA"> |
| <xsl:attribute name="style:min-row-height"><xsl:value-of select="concat(number(@最小值_41BA), $uofUnit )"/></xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否跨页_41BB'"> |
| <xsl:attribute name="style:keep-together"><xsl:choose><xsl:when test="string(.) != ''"><xsl:value-of select="."/></xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="fo:keep-together"><xsl:choose><xsl:when test="string(.) = 'true'">auto</xsl:when><xsl:otherwise>always</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="name(.)='字:是否表头行_41BC行'"> |
| <!-- process these element in content file--> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:列宽集_41C1" mode="texttable"> |
| <xsl:for-each select="字:列宽_41C2"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">table-column</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:element name="style:table-column-properties"> |
| <xsl:choose> |
| <xsl:when test="string(.)"> |
| <xsl:attribute name="style:column-width"><xsl:value-of select="concat(.,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:column-width"><xsl:value-of select="'1cm'"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="TableParentProperties"> |
| <xsl:param name="Stylename"/> |
| <xsl:for-each select="key('uof-table-styles',$Stylename)"> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:call-template name="TableParentProperties"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:call-template name="TablePropertiesAttr"/> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="字:文字表属性_41CC" mode="embeded_into_frame"> |
| <xsl:if test="字:位置_41C7/uof:垂直_410D[@相对于_C647 = 'margin']/uof:相对_4109[@参考点_410B = 'bottom']">"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:name">Embeded_fr<xsl:number count="字:文字表_416C[not(@类型_4102='sub-table')]" from="/uof:UOF_0000/字:文字处理文档_4225" level="any" format="1"/></xsl:attribute> |
| <xsl:attribute name="style:family"><xsl:value-of select="'graphic'"/></xsl:attribute> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="'Frame'"/></xsl:attribute> |
| <xsl:element name="style:graphic-properties"> |
| <xsl:if test="字:绕排边距_41C6/@左_C608"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(字:绕排边距_41C6/@左_C608, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:绕排边距_41C6/@右_C60A"> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat(字:绕排边距_41C6/@右_C60A, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:位置_41C7/uof:垂直_410D/uof:相对_4109/@值_410B"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat(字:位置_41C7/uof:垂直_410D/uof:相对_4109/@值_410B, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="style:wrap"><xsl:value-of select="'dynamic'"/></xsl:attribute> |
| <xsl:attribute name="style:number-wrapped-paragraphs"><xsl:value-of select="'no-limit'"/></xsl:attribute> |
| <xsl:attribute name="style:vertical-pos"><xsl:value-of select="'bottom'"/></xsl:attribute> |
| <xsl:attribute name="fo:background-color"><xsl:value-of select="'#ffffff'"/></xsl:attribute> |
| <xsl:attribute name="style:background-transparency"><xsl:value-of select="'100%'"/></xsl:attribute> |
| <xsl:attribute name="style:writing-mode"><xsl:value-of select="'lr-tb'"/></xsl:attribute> |
| <xsl:attribute name="style:vertical-rel"><xsl:value-of select="'page-content'"/></xsl:attribute> |
| <xsl:attribute name="style:horizontal-pos"><xsl:value-of select="字:位置_41C7/uof:水平_4106/uof:相对_4109/@参考点_410A"/></xsl:attribute> |
| <xsl:attribute name="style:horizontal-rel"><xsl:value-of select="'paragraph-content'"/></xsl:attribute> |
| <xsl:attribute name="draw:wrap-influence-on-position"><xsl:value-of select="'once-successive'"/></xsl:attribute> |
| <xsl:attribute name="fo:border"><xsl:value-of select="'none'"/></xsl:attribute> |
| <style:background-image/> |
| </xsl:element> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:文字表属性_41CC" mode="texttable"> |
| <xsl:variable name="newstyle"> |
| <xsl:variable name="nChildCount" select="count(./*)"/> |
| <xsl:choose> |
| <xsl:when test="$nChildCount = 0"> |
| <xsl:value-of select="0"/> |
| </xsl:when> |
| <!-- |
| <xsl:when test="$nChildCount = 1"> |
| <xsl:choose> |
| <xsl:when test="node()[1][name(.)='字:列宽集_41C1']"> |
| <xsl:value-of select="0"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when>--> |
| <xsl:otherwise> |
| <xsl:value-of select="1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="SpecialSection"> |
| <xsl:for-each select=".."> |
| <xsl:choose> |
| <xsl:when test="($document_type='text') and (name(..) = '字:文字处理文档_4225')"> |
| <xsl:variable name="SectPos"> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::*[1][name(.) = '字:分节_416A'] and preceding-sibling::*[1]/字:节属性_421B/字:节类型_41EA != 'continuous'"> |
| <!--xsl:call-template name="IsPrecedeType"> |
| <xsl:with-param name="nodename" select="'字:分节_416A'"/> |
| <xsl:with-param name="pos" select="0"/> |
| </xsl:call-template--> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="number($SectPos) > 0"> |
| <xsl:for-each select="preceding-sibling::*[position() = $SectPos]"> |
| <xsl:choose> |
| <xsl:when test="字:节属性_421B/字:是否首页页眉页脚不同_41EE = 'true'"> |
| <xsl:value-of select="generate-id(字:节属性_421B/字:是否首页页眉页脚不同_41EE)"/> |
| </xsl:when> |
| <!--xsl:when test="字:节属性_421B/字:页码设置_4205/@字:首页显示 = 'false'"> |
| <xsl:value-of select="generate-id(字:节属性_421B/字:页码设置)"/> |
| </xsl:when--> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="@名称_4166='RoStandard'"> |
| <xsl:value-of select="string('none')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="nsof:NeoShineOfficeID(.)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="string('none')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="string('none')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:if test="($newstyle = 1) or ($SpecialSection !='none')"> |
| <xsl:element name="style:style"> |
| <xsl:variable name="styleName" select="@式样引用_419C"/> |
| <xsl:attribute name="style:family">table</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:if test="$SpecialSection != 'none'"> |
| <xsl:attribute name="style:master-page-name"><xsl:value-of select="$SpecialSection"/></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="@式样引用_419C"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="@式样引用_419C"/></xsl:attribute> |
| <xsl:element name="style:table-properties"> |
| <xsl:attribute name="table:border-model">collapsing</xsl:attribute> |
| <xsl:call-template name="TableParentProperties"> |
| <xsl:with-param name="Stylename" select="@式样引用_419C"/> |
| </xsl:call-template> |
| <xsl:call-template name="TableParentProperties"> |
| <xsl:with-param name="Stylename" select="@式样引用_419C"/> |
| </xsl:call-template> |
| <xsl:call-template name="TablePropertiesAttr"/> |
| <xsl:choose> |
| <xsl:when test="字:填充_4134"> |
| <xsl:call-template name="TablePropertiesElement"/> |
| </xsl:when> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:文字表式样集_9917/式样:文字表式样_9918[@标识符_4100 = $styleName]/字:填充_4134"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:文字表式样集_9917/式样:文字表式样_9918[@标识符_4100 = $styleName]"> |
| <xsl:call-template name="TablePropertiesElement"/> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:table-properties"> |
| <xsl:attribute name="table:border-model">collapsing</xsl:attribute> |
| <xsl:call-template name="TablePropertiesAll"/> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="字:列宽集_41C1"> |
| <xsl:apply-templates select="字:列宽集_41C1" mode="texttable"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="BodyTextTableStyle"> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:批注集_B669/规则:批注_B66A//字:文字表_416C | /uof:UOF_0000/字:文字处理文档_4225//字:文字表_416C | /uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:内容_8043//字:文字表_416C | /uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表属性_E80D/表:页面设置_E7C1//字:文字表_416C"> |
| <xsl:apply-templates select="字:文字表属性_41CC" mode="texttable"/> |
| <xsl:variable name="CreateColumn"> |
| <xsl:choose> |
| <xsl:when test="not(字:文字表属性_41CC/字:列宽集_41C1)">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="pTable" select="."/> |
| <xsl:for-each select="字:行_41CD"> |
| <xsl:apply-templates select="字:表行属性_41BD" mode="texttable"/> |
| <xsl:variable name="IsFirstRow"> |
| <xsl:choose> |
| <xsl:when test="position() = 1">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="IsLastRow"> |
| <xsl:choose> |
| <xsl:when test="position() = last()">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="($CreateColumn = 'true') and (position()= 1)"> |
| <xsl:variable name="bodywidth"> |
| <xsl:variable name="pagew"> |
| <xsl:value-of select="preceding::字:分节_416A[1]/字:节属性_421B/字:纸张_41EC/@宽_C605"/> |
| </xsl:variable> |
| <xsl:variable name="leftm"> |
| <xsl:value-of select="preceding::字:分节_416A[1]/字:节属性_421B/字:页边距_41EB/@左_C608"/> |
| </xsl:variable> |
| <xsl:variable name="rightm"> |
| <xsl:value-of select="preceding::字:分节_416A[1]/字:节属性_421B/字:页边距_41EB/@右_C60A"/> |
| </xsl:variable> |
| <xsl:value-of select="number($pagew) - number($leftm) - number($rightm)"/> |
| </xsl:variable> |
| <xsl:for-each select="字:单元格_41BE"> |
| <xsl:if test="字:单元格属性_41B7/字:宽度_41A1"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">table-column</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(字:单元格属性_41B7/字:宽度_41A1)"/></xsl:attribute> |
| <xsl:element name="style:table-column-properties"> |
| <xsl:choose> |
| <xsl:when test="字:单元格属性_41B7/字:宽度_41A1/@相对值_41A3"> |
| <xsl:attribute name="style:column-width"><xsl:value-of select="concat($bodywidth * 字:单元格属性_41B7/字:宽度_41A1/@相对值_41A3 div 100, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:column-width"><xsl:value-of select="concat(字:单元格属性_41B7/字:宽度_41A1/@绝对值_41A2, $uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:for-each select="字:单元格_41BE"> |
| <xsl:variable name="pCell" select="."/> |
| <xsl:variable name="IsFirstCell"> |
| <xsl:choose> |
| <xsl:when test="position() = 1">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="IsLastCell"> |
| <xsl:choose> |
| <xsl:when test="position() = last()">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="字:单元格属性_41B7/child::*"> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-cell</xsl:attribute> |
| <xsl:element name="style:table-cell-properties"> |
| <!-- |
| <xsl:for-each select="字:单元格属性_41B7/node()"> |
| <xsl:choose> |
| <xsl:when test="self::node()[name(.)='字:宽度_41A1']"> |
| |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:单元格边距']"> |
| |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:边框']"> |
| |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:填充']"> |
| |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:垂直对齐方式']"> |
| <xsl:attribute name="style:vertical-align"><xsl:choose><xsl:when test="self::node()='center' ">middle</xsl:when><xsl:when test="self::node()='bottom' ">bottom</xsl:when><xsl:otherwise>top</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:跨行']"> |
| |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:跨列']"> |
| |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:自动换行']"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:适应文字']"> |
| |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:斜线表头']"> |
| |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each>--> |
| <xsl:if test="字:单元格属性_41B7/字:垂直对齐方式_41A5"> |
| <xsl:attribute name="style:vertical-align"><xsl:choose><xsl:when test="字:单元格属性_41B7/字:垂直对齐方式_41A5='center' ">middle</xsl:when><xsl:when test="字:单元格属性_41B7/字:垂直对齐方式_41A5='bottom' ">bottom</xsl:when><xsl:otherwise>top</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="pTableStyle" select="key('uof-table-styles',$pTable/字:文字表属性_41CC/@式样引用_419C)"/> |
| <xsl:call-template name="TextTableBorder"> |
| <xsl:with-param name="pCell" select="$pCell"/> |
| <xsl:with-param name="pTable" select="$pTable"/> |
| <xsl:with-param name="pTableStyle" select="$pTableStyle"/> |
| <xsl:with-param name="IsFirstRow" select="$IsFirstRow"/> |
| <xsl:with-param name="IsLastRow" select="$IsLastRow"/> |
| <xsl:with-param name="IsFirstCell" select="$IsFirstCell"/> |
| <xsl:with-param name="IsLastCell" select="$IsLastCell"/> |
| </xsl:call-template> |
| <xsl:call-template name="UOFTextCellPadding"> |
| <xsl:with-param name="pCellPad" select="字:单元格属性_41B7/字:单元格边距_41A4"/> |
| <xsl:with-param name="pTablePad" select="$pTable/字:文字表属性_41CC/字:默认单元格边距_41CA"/> |
| <xsl:with-param name="pTableStylePad" select="$pTableStyle/字:默认默认单元格边距_41CA"/> |
| </xsl:call-template> |
| <xsl:if test="字:单元格属性_41B7/字:填充_4134"> |
| <xsl:apply-templates select="字:单元格属性_41B7/字:填充_4134" mode="texttablecell"/> |
| </xsl:if> |
| </xsl:element> |
| </style:style> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="GradientStyle"> |
| <xsl:element name="draw:gradient"> |
| <!-- |
| <xsl:choose> |
| <xsl:when test="图:渐变/@图:类型"> |
| <xsl:attribute name="draw:name"><xsl:value-of select="图:渐变/@图:类型"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| --> |
| <xsl:attribute name="draw:name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:attribute name="draw:style"><xsl:choose><xsl:when test="图:渐变_800D/@种子类型_8010='linear'"><xsl:value-of select="'linear'"/></xsl:when><xsl:when test="图:渐变_800D/@种子类型_8010='radar'"><xsl:value-of select="'radial'"/></xsl:when><xsl:when test="图:渐变_800D/@种子类型_8010='oval'"><xsl:value-of select="'ellipsoid'"/></xsl:when><xsl:when test="图:渐变_800D/@种子类型_8010='square'"><xsl:value-of select="'square'"/></xsl:when><xsl:when test="图:渐变_800D/@种子类型_8010='rectangle'"><xsl:value-of select="'rectangular'"/></xsl:when></xsl:choose></xsl:attribute> |
| <xsl:attribute name="draw:start-color"><xsl:value-of select="图:渐变_800D/@起始色_800E"/></xsl:attribute> |
| <xsl:attribute name="draw:end-color"><xsl:value-of select="图:渐变_800D/@终止色_800F"/></xsl:attribute> |
| <xsl:attribute name="draw:start-intensity"><xsl:value-of select="concat(图:渐变_800D/@起始浓度_8011,'%')"/></xsl:attribute> |
| <xsl:attribute name="draw:end-intensity"><xsl:value-of select="concat(图:渐变_800D/@终止浓度_8012,'%')"/></xsl:attribute> |
| <xsl:attribute name="draw:angle"><xsl:value-of select="number(图:渐变_800D/@渐变方向_8013) * 10"/></xsl:attribute> |
| <xsl:attribute name="draw:border"><xsl:value-of select="concat(图:渐变_800D/@边界_8014,'%')"/></xsl:attribute> |
| <xsl:if test="图:渐变_800D/@种子X位置_8015"> |
| <xsl:attribute name="draw:cx"><xsl:value-of select="concat(图:渐变_800D/@种子X位置_8015,'%')"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:渐变_800D/@种子Y位置_8016"> |
| <xsl:attribute name="draw:cy"><xsl:value-of select="concat(图:渐变_800D/@种子Y位置_8016,'%')"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="HatchSetStyle"> |
| <xsl:variable name="fillImage"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B//图:图案_800A | /uof:UOF_0000/图形:图形集_7C00//图:图案_800A | /uof:UOF_0000/字:文字处理文档_4225/字:段落_416B//图:图案_800A | /uof:UOF_0000/字:文字处理文档_4225/字:文字表_416C//图:图案_800A | /uof:UOF_0000/演:演示文稿文档_6C10//图:图案_800A | /uof:UOF_0000/表:电子表格文档_E826//图:图案_800A|/uof:UOF_0000/图表:图表集_E836/图表:图表_E837//图:图案_800A"> |
| <draw:fill-image> |
| <xsl:variable name="ptnType"> |
| <xsl:choose> |
| <xsl:when test="@类型_8008='ptn043' and @前景色_800B='#ffffff' and @图:背景色='#ff0000'">ptn043_red</xsl:when> |
| <xsl:when test="@类型_8008='ptn044' and @前景色_800B='#ffffff' and @背景色_800C='#ff0000'">ptn044_red</xsl:when> |
| <xsl:when test="@类型_8008"> |
| <xsl:value-of select="@类型_8008"/> |
| </xsl:when> |
| <xsl:otherwise>ptnwrong</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:name"><xsl:value-of select="$ptnType"/></xsl:attribute> |
| <xsl:attribute name="draw:display-name"><xsl:value-of select="substring-after($ptnType,'ptn')"/></xsl:attribute> |
| <xsl:call-template name="BinaryData"/> |
| </draw:fill-image> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:call-template name="FillImage"> |
| <xsl:with-param name="fillImage" select="$fillImage"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="GraphicSetStyle"> |
| <xsl:variable name="fillImage"> |
| <xsl:for-each select="//图:填充_804C/图:图片_8005 | //字:填充_4134/图:图片_8005 | //演:背景_6B2C/图:图片_8005 | //表:背景填充_E830/图:图片_8005 | //表:填充_E746/图:图片_8005 | //图表:填充_E746/图:图片_8005"> |
| <!-- 图表的填充为后加的,解决图表无背景图片问题 --> |
| <draw:fill-image xlink:actuate="onLoad" xlink:show="embed" xlink:type="simple"> |
| <xsl:attribute name="draw:name"><xsl:value-of select="@图形引用_8007"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="key('other-styles',@图形引用_8007)/对象:路径_D703"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="concat('Pictures/',substring-after(key('other-styles',@图形引用_8007)[1]/对象:路径_D703,'/data/'))"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="key('other-styles',@图形引用_8007)/对象:数据_D702"> |
| <xsl:call-template name="BinaryGraphic"> |
| <xsl:with-param name="refGraphic" select="@图形引用_8007"/> |
| </xsl:call-template> |
| </xsl:when> |
| </xsl:choose> |
| </draw:fill-image> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:call-template name="FillImage"> |
| <xsl:with-param name="fillImage" select="$fillImage"/> |
| </xsl:call-template> |
| </xsl:template> |
| <!--过滤重复式样--> |
| <xsl:template name="FillImage"> |
| <xsl:param name="fillImage"/> |
| <xsl:for-each-group select="$fillImage/*" group-by="@draw:name"> |
| <xsl:copy-of select="."/> |
| </xsl:for-each-group> |
| </xsl:template> |
| <xsl:template match="对象:对象数据_D701"> |
| <xsl:for-each select="key('rel_graphic_name',@标识符_D704)"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:attribute name="style:family">graphic</xsl:attribute> |
| <xsl:element name="style:graphic-properties"> |
| <xsl:choose> |
| <xsl:when test="uof:保护_C62A/@是否保护大小='true'"> |
| <xsl:attribute name="style:protect">size</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="uof:保护_C62A/@是否保护位置='true'"> |
| <xsl:attribute name="style:protect">position</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="uof:保护_C62A/@是否保护位置='true'and uof:保护_C62A/@是否保护大小='true'"> |
| <xsl:attribute name="style:protect">position size</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:attribute name="fo:border">none</xsl:attribute> |
| <!-- a special case,there is a @类型,but no uof:垂直 starting --> |
| <xsl:if test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:attribute name="style:vertical-pos"><xsl:value-of select="'from-top'"/></xsl:attribute> |
| </xsl:if> |
| <!-- a special case,there is a @类型,but no uof:垂直 , ending. --> |
| <xsl:apply-templates select="uof:位置_C620/uof:垂直_410D"/> |
| <xsl:apply-templates select="uof:位置_C620/uof:水平_4106"/> |
| <xsl:apply-templates select="uof:绕排_C622"/> |
| </xsl:element> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="BinaryData"> |
| <office:binary-data> |
| <xsl:choose> |
| <xsl:when test="@类型_8008='ptn001' and @前景色_800B='#00ff00'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNh+M/wn5EBE7BgFQVJYBcmVoIRyT4UCWT7SLcDAC48BiC0r93dAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn001' and @前景色_800B='#ff78bd'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGP5//8/AzbAglUUvwQjAwM2w1iwipJpBzJAsg8AQFcGHZrs6e8AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn001' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNhYPjP8J+RAQOwYBUFS+AAREowIuxDlUCyj3Q7ACg9BiAi8rOrAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn002' and @前景色_800B='#ff0000'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGP5z8DA8B9EoAEWrKJgCWTAyAhXhyqBpJsFWRWN7AAAOSsRFt141QcAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn003' and @前景色_800B='#ff0000'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGP5z8DACMRg8J8RwWaBsxiQVIAkMNVC2CyYaiFsFky1VLcDAOahGCD63ouBAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn004' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGNhYPj//z8DBDAyMsDZLBAWRAiZzYIpBGEPqA4A/1o9AqgXatAAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn005' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNhYPj//z8DIyMDGskCZzEwMCCzWTDVInSgqYWw8eqgkh0A7ZVBDhySK7QAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn006' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNhYPj//z8DIyMDGsmCVRRIsmAVxaKDgYFUHcTZATcXmQQA8ftBGoRo5DEAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn007' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNhYPj//z8DIyMDGsmCVRRIsmAVHWgdAPL9QR46gf26AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn008' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNhYPjPAAb//zMwMjLA2SwQPibJAmcBATIbrw40tRA2Fe0AAP6iMSo4Vov8AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn009' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGP5//8/IyMDBPz/zwBns0BYECFkNgumEIQ9oDoAnUwhPDtydwUAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn010' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGP5//8/IyMDBPz/zwBns8BZQIDMZsFUC2GzYKqFsFkw1VLdDgAA8xEwmsNKVwAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn010' and @前景色_800B='#ffffff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGP5//+/icksBjA4cyYNzmaBs4AAmc2CqRbCZsFUC2GzYKqluh0ANq4hMPEukbMAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn011' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNhYPjPAAb//zMwMjLAAQuchSyKIoEMgLqxSwB1syCropEdADipCSSSiwzsAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn012' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNhYPjPgA2wYBUlWuL/fwZGRmwScFHy7EA2FxkAAOHDBSIH/WEvAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn013' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALUlEQVR4nGNhYPj//z8DBDAyMsDZLEAWnI/MZkHjw9ksEI2YcixYzQHpoJ4dAOY1OQZM1tGbAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn014' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGP5//8/AxgwMjLAmCA2C1ZRIJsFqygQsGAVBUlgFaWuHQBj1iEg8vXVKAAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn015' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMUlEQVR4nGNhYPjPAMQggoGRkQHOZgFSQD4QARnIbBaIEkw5Fky1EDYLxGhMOSraAQCLbjkg7ZCwuwAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn016' and @前景色_800B='#0000ff' and @背景色_800C='#ff0000'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNhYPjPAMKMQJIRic2CVRTIZsEqCtWBKQpks2AVpa4dAI7FICCCNCzYAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn016' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNhYPjPAMQggoGRkQHOZsEqCmSzYBWF6sAUBbJZsIpS1w4AYkkhHuKbNUYAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn017' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAN0lEQVR4nGXOAQoAQARE0VH//lfenU2hpUheBOnI+UpHhKhumnucnm4jfRu1+xnz7rSGz9j/pF2YoB0gtk9UpQAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn018' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMUlEQVR4nGNhYPj//z8DMmBkBJEsWEVBElhFgapZsIoidKCJQiUwRUESWEURRmG6DQAbfBEgGcS1uwAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn019' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNhYPj//z8DBDAyMsDZLAw4wOCUAADHvwUeDEtdDgAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn020' and @前景色_800B='#ffff00'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGklEQVR4nGP5/58BK2BhZMQhgV0YnwQd7AAAYJIEISB3Q/YAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn020' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNhYPjPgA2w/McuzsCCXRifBCMjDgnq2QEAwAgFHjYAUNQAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn021' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGklEQVR4nGNhYPj//z8DIyMDGsnCgAMMTgkApfgJHqRbf9cAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn022' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNhYPjPgA2w/McuzsDCyIhDYiB1AADmewkeUS/FOwAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn022' and @前景色_800B='#00ff00' and @背景色_800C='#00ffff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGElEQVR4nGNh+P+fARtgYWBgxCUxCHUAALvMBSC5rp57AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn022' and @前景色_800B='#00ff00'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAF0lEQVR4nGNh+M+AFbAw4JABSjAOPh0AV88FH0+MxjkAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn023' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNhYPjPAMQggoGRkQHOZmHAAQanBAC7ywUeNxfiogAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn024' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNhYPjPgA2wYBUFSfzHrgGPDkZGUnWQbAcAXGwFHqNw3RkAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn025' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMklEQVR4nGP5//8/AzbAglUUJMHIyADXg8xmAbLgfGQ2CxofzobagSmHsBzZdQgdmAAAyBUhEFI1qLsAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn026' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMElEQVR4nGP5//8/AzbAglUURYKRkQGuGchmwSoKZLNgFQUZhVUUJIHsKGQ2TlcBACh9FRy4as61AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn027' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNhYPjPAAP/EUwGFmQOMmDBLkysBCMjDgkUy0m2AwAbsQccw3M/SgAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn028' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGNhYPj//z8DJmDBIkauBLIFjIwMcC4V7QAAw/oHHGDxXvUAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn029' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANUlEQVR4nGWNQQoAMAjDKuT/X+4OgpPqQUgNFsm27rDTKg2yeUsEj8f90/sfooxb2xKhj/EAW+UdErFnPgwAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn030' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOUlEQVR4nGWO0QoAMAgCDfz/X3aOhoy6J08qIiAJVcBNaKyM/LhkUuhtDs8EhydzeOC+/jYs+zGXB++ZGRj0GfymAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn031' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANElEQVR4nGNhYPj//z8DGmBkZGABigIpZDkIl4UBpAUhB2ewQFRB5CAMCGCBK0EzjYp2AABEjCcUaUAW6gAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn032' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGP5//8/AzbAAmcxMoJIuDIWuChECMIAkixoCiEMIMmCwwpq2gEARxkdGBfi2AgAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn033' and @前景色_800B='#ff0000'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANklEQVR4nGNhYPjPgAH+MzCyYBVlZPiPLgERBTJYsIqiSABFkRWxoKlFMQrZBCADajmyKLIcAMprFiBoxxp5AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn033' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANElEQVR4nGP5//8/AwZgZGRgwSoKVIwuAREFAhasoigSQFFkwIKmFsUoZBOADKjlyKLIcgBi7Bcg5WuxKQAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn034' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGNhYPjPgA2wAPF/bFIsWJUTkmBkxCaBbAFQBZxLuh0ALx0HHo+Ka1MAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn035' and @前景色_800B='#0000ff' and @背景色_800C='#ff00ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANUlEQVR4nGNhYPj/nwEKGIEcGJvlP4yPTIIkGFD5cDYLmglwfSyYohB9LJhqEXYw4LcDTQ4AMPkZGo5IQCMAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn035' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAN0lEQVR4nGVNQQ4AIAjCjf9/2WpsVOjBgYAQ6G5oqmDMjcTffQTg48aMD85xXpXj9N6O8GZHaAt21jEU9i1BlQAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn035' and @前景色_800B='#0000ff' and @背景色_800C='#ff00ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANUlEQVR4nGNhYPj/nwEKGIEcGJvlP4yPTIIkGFD5cDYLmglwfSyYohB9LJhqEXYw4LcDTQ4AMPkZGo5IQCMAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn036' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGNhYPj//z8DIyMDGsmCVRRIsmAVJaQDCCAkA8hCKMnCgAOQLgEA5O4lHgp+1OoAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn037' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALUlEQVR4nGP5//8/AzbAAmcxMjIgq0FIAEWR5YjTgWIHmkKEBFZRoGrsOoAiAHAjFRgrzI7EAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn038' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNhYPj//z8DIyMDGskCxAwgSXSSBSKPCViwitJJBwC5tB0QWDyhJgAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn039' and @前景色_800B='#ffffff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMElEQVR4nGMxNp7JgA2wAPGZM2kmJrMgfDgbJAEXRWazwIWQ9aFIIItSaAcyAOoDADXzFyjANSY3AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn039' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMElEQVR4nGNhYPj//z8DJmDBKgqSgFCMjAxwFRA2VAJZH4TNgqwdWR+KBLI+0u0AAFpvGRLKSkf3AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn040' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOUlEQVR4nG2NCwoAMAhCF3j/KzuHIAYTyuL1AcmzNfMyZI3SQpamh6AwcxHBlo3U6Ld9cIFgsQ+wLoWFGxgcGtpJAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn041' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGNhYPjPgA2w/P/PwMgIYv0HK4CzWSAsuBCczYKpFiGBppbqdgAALSkVLK4WE5kAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn042' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAN0lEQVR4nHWNSQoAQAjDKvT/X+4UBBcYc4oHU0qKQCKhnDbfSbmF2PQHDji7/w3L3OPsrtS18QDeoxEoMtsKvAAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn043' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNhYPjPgA2wAPF/mBQjI4LNglU5IQmgCXAAZ1PRDgBm3wkgDXDgQQAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn043' and @前景色_800B='#ffffff' and @背景色_800C='#ff0000'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGN5YqosferOUzMVBjCAs1kYcADcEkC9EBPgQhA2C9BEWtsBAJwCGSIIxPtQAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn044' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGklEQVR4nGNhYPjPgA2wAPF/bFIsWJUPtAQAJtwDHhoe2JQAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn044' and @前景色_800B='#ffffff' and @背景色_800C='#ff0000'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGN5YqosferOUzMVBlTAwoAD0EUC6CQgBSFRJDAdCgEAA0IJHu/iI/cAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn045' and @前景色_800B='#ff0000' and @背景色_800C='#ffff00'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGP5/5+BgZEBBP6DSRibBcRCFYKwWRhwABYGnEbh1EE1OwBLFQ4fojv/LgAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn045' and @前景色_800B='#ff0000'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGP5z8DAAMIMDIxgEsZmAbFQhSBsFgYcgAWkBLtROHVQzQ4A9OwNIMy7yHkAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn045' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNhYPj//z8DEDAygkg4mwXIQhOCsFkYcAAWoBLsRuHUQT07AB7YGSAdbcZUAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn046' and @前景色_800B='#0000ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNhYPjPAAP/EUwGFgYcgAwJZHMZGWliBwALswUeEhCN8AAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn005' and @背景色_800C='#333399'"> |
| iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGNRZrhz57+yCuNdBjCAs1kgLEySBSIP58PZeHWgqaW6HQDkpk8sQd5vKgAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn010'and @背景色_800C='#333399'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGP5//8/AxioqNy9c0cZzmZhgAG4KITNgqkWwmbBVAthIIyinR0Az50mQDmqEnoAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="substring(@类型_8008,5,2)='13'and string(@背景色_800C)='#ff3333'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGP5b2zMAAaMZ88is1ngfCCJzGZB48PZLJhqIWwWiKGYclS0AwACfUJCQU/IJQAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn022' and @背景色_800C='#00ffff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAG0lEQVR4nGNh+P+fARtgUWZQwS5xl+HO4NMBAP+nCGbuOY6AAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn035' and @背景色_800C='#ff00ff'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAPUlEQVR4nGP5z/BfheEuAxjcYVAGsiEkC5wFlEBmsyCrgouCJDDVQsxkQTYH2SYWTLVQO5DNQXEVRCGm2wCx4C4nyqBe2QAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn039' and @背景色_800C='#333399'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMklEQVR4nGNRZrjDgA2wQKg7/5VVGO9ikUATBUkgq0VmsyCrRWazYFoL0YdFAqIPpx0A44IXKNx/AToAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn045' and @背景色_800C='#ffff00'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGP5/58BCO6qgEjlOwg2CwMOwIKpFsLGrQNTLdXtAAD9VxEgnseUWAAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn001'"> iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIUlEQVR4nGP5//8/AzbAglUUrwQjIyNW01ioaAcyB9k+AAO9DBstSVK1AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn002'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGOZqeHDAANphVKz+p9B2CwMSAAuCpJAVoUMWLCKohtFIzsAN2YVaquFlH0AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn003'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALElEQVR4nGNRVr7DgA2w3BEIV/mwEsJBZrPAWUCAzGbBVAths2CqhbCpaAcAxPUjsSXviH8AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn004'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAI0lEQVR4nGOR7OpK/1bGAAYzuRBsFggLIoTMZsEUgrAHVAcAq3dJq0qbe9YAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn005'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNpaGAAQhABBnA2C4SFiVgg8nA+nI1XB5paqtsBAN6ENyG+vb1pAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn006'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGOR7Op6Xlom2Y1OsqDxGRgYIGwWTLXYdcBJvDrg5hKtA6scAIQYXcTwY7BfAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn007'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGNh+M/A4O3FsHUbGsmCVRRIsmAVHWgdAJ1uP7UktXJ2AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn008'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMElEQVR4nGP5/z+NYRYDFKQxwNksIBaEj0qygGRnIamFsVkQJqDrwFALYVPNDgYGAHpeHCHJYPuMAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn009'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGOR7Op6xn9H6qMKAxjA2SxADGFBhOBsFkwhCHtAdQAAcSg9JIa+mA8AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn010'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNZd54BAtr7GSoLEWwWBhiAi0LYLJhqIWwWTLUQgDCKdnYAAK3RFxro9SLpAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn011'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJ0lEQVR4nGNpaGhgwAZYMIUkJX2eP9+CRQIoitABUYXFKDRR6toBAJq6FSc596YjAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn012'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGOR7OpiwAZY4KxnpaVS3d1YJJBFUSRwGkWUBNA+7BJA+3AaBQAC0Ah+yZWsQwAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn013'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALUlEQVR4nGP5//8/AxgwMjLAmCA2C5wPJJHZLGh8OJsFUy2EzQIxFFOOinYAADx8OwaQ1VWOAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn014'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGNhuPOfAQJUGBjuMMDZLFhFgWwWrKJAwIJVFCyBTZS6dgAAE3wRIDlgYu4AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn015'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMklEQVR4nGOZmXbm+awtDAwMkmk+QBLOZoFQQD4QARlwNgsaH85mgWjHlGPBag517QAAiLdV7DSstF0AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn016'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNZd54BCC5tlASSev7P4WwWrKJANgtWUagOTFEgmwWrKHXtAADkozA6i+VXKgAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn017'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAO0lEQVR4nGNhYPjPcOYsAzIwMQYSLFAWshyQbWLMglCFKscCkceUY4HrRZNjgetFk2OB60WTQ5JAlQMAcWQdIItfX/MAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn018'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOUlEQVR4nGOZ4j6FgYHhkjwrAxjoPfwNYbBgFQVJYBWF6sAUBapmwSoK0oFVFGEUmihQNQtWUSAJAItIGZCmAj/UAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn019'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGNh+M/A0NjAUN/AAAEwNgsDDjA4JQDARQUg8kU9AQAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn020'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAH0lEQVR4nGNhuPOfARtgwSoKllDBJXEHlwROo6hmBwAWYQP8EvqLCwAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn021'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAF0lEQVR4nGP5//8/IyMjJsnCgAMMTgkA6ywMIQCWenYAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn022'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGElEQVR4nGNhwAFY/v//j12CkZFx8OkAAKXuDB5FnY15AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn023'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHklEQVR4nGP5//8/IyMjAwMDkAEk4WwWBhxgcEoAAKkECR7id7rEAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn024'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAHElEQVR4nGP5//8/AzbAglUUJMHIyEiiDjrYAQCF2QYhE3pd/wAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn025'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAL0lEQVR4nGP5//8/AxgwMjIis1kYYAAuCmEjJNAAGRJodsLZLEAWnI/MZkHjw9kAFogqDyFktcgAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn026'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKUlEQVR4nGP5//8/AzbAglWUQglGRka4fUA2C1ZRIJsFqyjIKKyiQAAA6fcYIfk0nh8AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn027'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKElEQVR4nGP5//8/AzbAgsxhZGTELoGsG0UCp1EoEsjmohhFlKuQAQA9sAwbpfdUbgAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn028'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAIElEQVR4nGP5//8/AwwwMjLCuSwMOAAZEsjmIttHRTsAofAMG54pChoAAAAASUVORK5CYII= |
| </xsl:when> |
| <xsl:when test="@类型_8008='ptn029'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANUlEQVR4nGWMQQoAQAgCDfz/l92Di0F2qnGSACShhofOjAnPHe8H/ccusbdBqA0eNwbb9f4AKKYqDJtlg60AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn030'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOUlEQVR4nG1NOQ4AMAjShP9/mZIwSGsZDHIoSFZVd2uaG5CUuyERZruHHbeHTF0/8m56n1NOTONJHNjRJBKMzS6qAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn031'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAL0lEQVR4nGP5//8/IyMjkGRgYIAzgIAFmYOsiAUuiiwHkoDwIRyIIqgOZKNpZAcAogk5DLqwhAsAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn032'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMUlEQVR4nGNhYGD4//8/IyMjkASy4QwWCAWRgzAYwICFAQbgQugScADRygIxlKZ2AAD5kSoS/A+e7AAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn033'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOElEQVR4nG2MQQoAQAgCE/r/l1ujkFjsEDqKWVURAYB/9FxKXboB6x/twNIOLGU7LTVTsj0lc0sPILchG3Z9PUUAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn034'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAKklEQVR4nGNhwAFY/v//D2ExMjLC2SAJnDpwSgBNgHOQ2SzI5hJnFC4JANNjCSHwZ+dOAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn035'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAPElEQVR4nGWOWwoAQAgCDbz/ld2HS7jUR0gNKgFIwp2q2tqbrUy0ZlJ9PY/J2pPpk0mc7MtIn6+VwdltAaKwTglQF5YxAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn036'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALklEQVR4nGP5//8/IyMjJsmCVRRIsgAxAwMDhA9kQEggYGHAAciTgNgGt4mAqwCl+DMhMZsO5QAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn037'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAALklEQVR4nGP5//8/AwMDIyMjhAEHLFhFoRJAUew6IHJYdCADuFZ0CbixpOiAMADmpyEShMaewQAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn038'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGP5//8/AwMDIyMjhAEHLBAKTRQkAVGLSbJA1GKSUKNIsYNkHQC3qC0JDQzH4AAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn039'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAMElEQVR4nGP5//8/AzbAAqEYGRnRVEAlMPWxIKtFZrMgq0Vms2BaC9GHRQKiD6cdAA9EIRKBWkN+AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn040'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOElEQVR4nGWOUQoAMAhCF7z7X7nGBJHmR6mhRHefh6q60xK7skxIoYQk6eYNrWwXx9aKshr2Vz8GDzgwD2pvz7kAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn041'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAK0lEQVR4nGNhYGD4//8/kGRkZERms8CFIADOZgEqQVMLYbPAlaDpY6GDHQDLBh45l0dhygAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn042'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOUlEQVR4nHWNQQoAMAzCWvD/X3aC1DHoPJQcbERNSBq6Wxf1CVJ3MQwbRAHzVeXjUS0bLu4b8cYpPr24ISf5W9S/AAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn043'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGP5//8/IyMjkGQAAzibhQEHwC0B1AsxAS4EYbPQwQ4A6J0SLfF/06kAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn044'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGP5//8/IyMjkGRABSwMOAALUDmQgpAoEqQbRT0JAHD2DCHlOvIhAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:when test="@类型_8008='ptn045'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJUlEQVR4nGNhAIP///8DSUZGRjibhQEHYMFUC2Hj1oGplup2AAC9HBgeRnkBAgAAAABJRU5ErkJggg==</xsl:when> |
| <xsl:when test="@类型_8008='ptn046'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJklEQVR4nGP5//8/IyMjAwwAuRAGCwMOQIYE0AK4uUAAt4+KdgAAofcJIdNbiq8AAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn047'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAOElEQVR4nG2NQQoAMAjDFPr/L3eDjmzIbo1RK9tV1d0JZAV2CrNxxOuCV/wvYJxGM05jitPo5PMCryM5EtSyCSkAAAAASUVORK5CYII=</xsl:when> |
| <xsl:when test="@类型_8008='ptn048'">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAANklEQVR4nG2N0QoAMAgCFfz/X3aBEG2rxzs12QZAEuMK6qchit8bj8u4Zqpc6CU6u4i9kR/tDmj1IRsmDqtoAAAAAElFTkSuQmCC</xsl:when> |
| <xsl:otherwise>iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAJElEQVR4nGNhYPjP8J+RAQOwYBUFS+AAREowIuxDlUCyj3Q7ACg9BiAi8rOrAAAAAElFTkSuQmCC</xsl:otherwise> |
| </xsl:choose> |
| </office:binary-data> |
| </xsl:template> |
| <xsl:template name="BinaryGraphic"> |
| <xsl:param name="refGraphic"/> |
| <xsl:element name="office:binary-data"> |
| <xsl:value-of select="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据_D701[@标识符_D704 = $refGraphic]/对象:数据_D702"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="图:填充_804C" mode="Graph"> |
| <xsl:call-template name="FillGraph"/> |
| </xsl:template> |
| <xsl:template match="图:属性_801D" mode="Graph"> |
| <xsl:param name="textanchor"/> |
| <xsl:variable name="drawName" select="../../@标识符_804B"/> |
| <xsl:choose> |
| <xsl:when test="图:填充_804C"> |
| <xsl:apply-templates select="图:填充_804C" mode="Graph"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- special for presentation. there are some bugs, if (draw:fill != 'none), it will be filled in default color for presentation graphic object. --> |
| <xsl:for-each select="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:预定义图形_8018/图:属性_801D"> |
| <xsl:if test="not(图:填充_804C)"> |
| <xsl:attribute name="draw:fill">none</xsl:attribute> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:if test="$document_type = 'presentation' and $textanchor"> |
| <xsl:attribute name="draw:fill">none</xsl:attribute> |
| <!-- |
| <xsl:choose> |
| <xsl:when test="(name($textanchor/..) = '演:母版') and ($textanchor/@uof:占位符 = 'text')"> |
| <xsl:choose> |
| <xsl:when test="$textanchor/../演:背景"> |
| <xsl:for-each select="$textanchor/../演:背景"> |
| <xsl:call-template name="FillGraph"/> |
| </xsl:for-each> |
| |
| <xsl:if test="$textanchor/../演:背景/图:颜色"> |
| <xsl:attribute name="draw:fill">solid</xsl:attribute> |
| <xsl:attribute name="draw:fill-color"><xsl:value-of select="$textanchor/../演:背景/图:颜色"/></xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:fill">none</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:fill">none</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose>--> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="图:线_8057/图:线颜色_8058"> |
| <xsl:attribute name="svg:stroke-color"><xsl:value-of select="图:线_8057/图:线颜色_8058"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:线_8057/图:线类型_8059"> |
| <!--<xsl:variable name="xmlid"> |
| <xsl:choose> |
| <xsl:when test="图:线类型/@xml:id"> |
| <xsl:value-of select="图:线类型/@xml:id"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="图:线类型/@图:虚实"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable>--> |
| <xsl:variable name="type" select="图:线_8057/图:线类型_8059/@线型_805A"/> |
| <xsl:variable name="dash" select="图:线_8057/图:线类型_8059/@虚实_805B"/> |
| <xsl:if test="$type='none'"> |
| <xsl:attribute name="fo:border">none</xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="$type!=''"> |
| <xsl:attribute name="draw:stroke"><xsl:choose><xsl:when test="$type='none'">none</xsl:when><xsl:when test="$dash='round-dot' or $dash='square-dot' or $dash='dash' or $dash='dash-dot' or $dash='long-dash' or $dash='long-dash-dot' or $dash='dash-dot-dot'">dash</xsl:when><xsl:otherwise>solid</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="draw:stroke-dash"><xsl:choose><xsl:when test="$dash='round-dot'">round-dot</xsl:when><xsl:when test="$dash='square-dot'">square-dot</xsl:when><xsl:when test="$dash='dash'">dash</xsl:when><xsl:when test="$dash='dash-dot'">dash-dot</xsl:when><xsl:when test="$dash='long-dash'">long-dash</xsl:when><xsl:when test="$dash='long-dash-dot'">long-dash-dot</xsl:when><xsl:when test="$dash='dash-dot-dot'">dash-dot-dot</xsl:when><xsl:otherwise>Fine Dashed</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204[扩展:路径_B205 = $drawName]/扩展:内容_B206[@名称 = 'draw:stroke-dash']"> |
| <xsl:attribute name="draw:stroke">dash</xsl:attribute> |
| <xsl:attribute name="draw:stroke-dash"><xsl:value-of select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204[扩展:路径_B205 = $drawName]/扩展:内容_B206[@名称 = 'draw:stroke-dash']/扩展:线型数据/@draw:name"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="图:线_8057/图:线粗细_805C"> |
| <xsl:attribute name="svg:stroke-width"><xsl:value-of select="concat(图:线_8057/图:线粗细_805C,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:箭头_805D/图:前端箭头_805E"> |
| <xsl:for-each select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204[扩展:路径_B205 = $drawName]/扩展:内容_B206[@名称 = 'draw:marker']/扩展:前端箭头"> |
| <xsl:attribute name="draw:marker-start" select="@draw:name"/> |
| <xsl:attribute name="draw:marker-start-width" select="@draw:marker-start-width"/> |
| </xsl:for-each> |
| <xsl:if test="图:箭头_805D/图:前端箭头_805E/图:端点结合方式_8003"> |
| <xsl:attribute name="draw:stroke-linejoin"><xsl:value-of select="图:箭头_805D/图:前端箭头_805E/图:端点结合方式_8003"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:箭头_805D/图:前端箭头_805E/图:式样_8000"> |
| <xsl:call-template name="callArrow"> |
| <xsl:with-param name="ArrowElement1" select="图:箭头_805D/图:前端箭头_805E/图:式样_8000"/> |
| <xsl:with-param name="ArrowElement2" select="图:箭头_805D/图:前端箭头_805E/图:大小_8001"/> |
| <xsl:with-param name="isBegin" select="'true'"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="图:箭头_805D/图:后端箭头_805F"> |
| <xsl:for-each select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204[扩展:路径_B205 = $drawName]/扩展:内容_B206[@名称 = 'draw:marker']/扩展:后端箭头"> |
| <xsl:attribute name="draw:marker-end" select="@draw:name"/> |
| <xsl:attribute name="draw:marker-end-width" select="@draw:marker-end-width"/> |
| </xsl:for-each> |
| <xsl:if test="图:箭头_805D/图:后端箭头_805F/图:端点结合方式_8003"> |
| <xsl:attribute name="draw:stroke-linejoin"><xsl:value-of select="图:箭头_805D/图:后端箭头_805F/图:端点结合方式_8003"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:箭头_805D/图:后端箭头_805F/图:式样_8000"> |
| <xsl:call-template name="callArrow"> |
| <xsl:with-param name="ArrowElement1" select="图:箭头_805D/图:后端箭头_805F/图:式样_8000"/> |
| <xsl:with-param name="ArrowElement2" select="图:箭头_805D/图:后端箭头_805F/图:大小_8001"/> |
| <xsl:with-param name="isBegin" select="'false'"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="图:是否打印对象_804E"> |
| <xsl:choose> |
| <xsl:when test="string(图:是否打印对象_804E) = 'true'"> |
| <xsl:attribute name="draw:printprev-hide">false</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="string(图:是否打印对象_804E) = 'false'"> |
| <xsl:attribute name="draw:printprev-hide">true</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="图:透明度_8050"> |
| <xsl:choose> |
| <xsl:when test="../图:名称_801A='Line'"> |
| <xsl:attribute name="svg:stroke-opacity"><xsl:value-of select="concat(图:透明度_8050,'%')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:opacity"><xsl:value-of select="concat(100 - 图:透明度_8050,'%')"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <!--UOF template Wrong--> |
| <xsl:if test="图:阴影_8051"> |
| <xsl:if test="图:阴影_8051/图:是否显示阴影_C61C='true'"> |
| <xsl:attribute name="draw:shadow"><xsl:value-of select="string('visible')"/></xsl:attribute> |
| <xsl:if test="图:阴影_8051/uof:偏移量_C61B/@x_C606 and not(图:阴影_8051/uof:偏移量_C61B/@x_C606=0)"> |
| <xsl:attribute name="draw:shadow-offset-x"><xsl:value-of select="concat(图:阴影_8051/uof:偏移量_C61B/@x_C606,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:阴影_8051/uof:偏移量_C61B/@y_C607 and not(图:阴影_8051/uof:偏移量_C61B/@y_C607=0)"> |
| <xsl:attribute name="draw:shadow-offset-y"><xsl:value-of select="concat(图:阴影_8051/uof:偏移量_C61B/@y_C607,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="draw:shadow-color"><xsl:value-of select="图:阴影_8051/@颜色_C61E"/></xsl:attribute> |
| <xsl:attribute name="draw:shadow-opacity"><xsl:value-of select="concat(100 - 图:阴影_8051/透明度_C61F, '%')"/></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="图:阴影_8051"> |
| <xsl:if test="图:阴影_8051/@是否显示阴影_C61C='true'"> |
| <xsl:attribute name="draw:shadow"><xsl:value-of select="string('visible')"/></xsl:attribute> |
| <xsl:if test="图:阴影_8051/uof:偏移量_C61B/@x_C606 and not(图:阴影_8051/uof:偏移量_C61B/@x_C606=0)"> |
| <xsl:attribute name="draw:shadow-offset-x"><xsl:value-of select="concat(图:阴影_8051/uof:偏移量_C61B/@x_C606,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:阴影_8051/uof:偏移量_C61B/@y_C607 and not(图:阴影_8051/uof:偏移量_C61B/@y_C607=0)"> |
| <xsl:attribute name="draw:shadow-offset-y"><xsl:value-of select="concat(图:阴影_8051/uof:偏移量_C61B/@y_C607,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="draw:shadow-color"><xsl:value-of select="图:阴影_8051/@颜色_C61E"/></xsl:attribute> |
| <xsl:attribute name="draw:shadow-opacity"><xsl:value-of select="concat(100 - 图:阴影_8051/@透明度_C61F, '%')"/></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="图:图片属性_801E"> |
| <xsl:apply-templates select="图:图片属性_801E" mode="Graph"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="callArrow"> |
| <xsl:param name="ArrowElement1"/> |
| <xsl:param name="ArrowElement2"/> |
| <xsl:param name="isBegin"/> |
| <xsl:variable name="sizeArrow"> |
| <xsl:value-of select="$ArrowElement2"/> |
| </xsl:variable> |
| <xsl:if test="$ArrowElement1"> |
| <xsl:variable name="typeName"> |
| <xsl:value-of select="$ArrowElement1"/> |
| </xsl:variable> |
| <xsl:variable name="arrowType"> |
| <xsl:choose> |
| <xsl:when test="$typeName = 'diamond'"> |
| <xsl:value-of select="concat('msArrowDiamondEnd_20_',$sizeArrow)"/> |
| </xsl:when> |
| <xsl:when test="$typeName = 'normal'"> |
| <xsl:value-of select="concat('msArrowEnd_20_',$sizeArrow)"/> |
| </xsl:when> |
| <xsl:when test="$typeName = 'open'"> |
| <xsl:value-of select="concat('msArrowOpenEnd_20_',$sizeArrow)"/> |
| </xsl:when> |
| <xsl:when test="$typeName = 'stealth'"> |
| <xsl:value-of select="concat('msArrowStealthEnd_20_',$sizeArrow)"/> |
| </xsl:when> |
| <xsl:when test="$typeName = 'oval'"> |
| <xsl:value-of select="concat('msArrowOvalEnd_20_',$sizeArrow)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="arrow"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$isBegin = 'true'"> |
| <xsl:attribute name="draw:marker-start"><xsl:value-of select="$arrowType"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:marker-end"><xsl:value-of select="$arrowType"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="$ArrowElement2"> |
| <xsl:variable name="arrowSize"> |
| <xsl:choose> |
| <xsl:when test="$sizeArrow = '1' or $sizeArrow = '2' or $sizeArrow = '3'">0.247cm</xsl:when> |
| <xsl:when test="$sizeArrow = '4' or $sizeArrow = '5' or $sizeArrow = '6'">0.437cm</xsl:when> |
| <xsl:when test="$sizeArrow = '7' or $sizeArrow = '8' or $sizeArrow = '9'">0.617cm</xsl:when> |
| <xsl:otherwise>0.247cm</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$isBegin = 'true'"> |
| <xsl:attribute name="draw:marker-start-width"><xsl:value-of select="$arrowSize"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:marker-end-width"><xsl:value-of select="$arrowSize"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="uof:垂直_410D"> |
| <xsl:variable name="vertpos"> |
| <xsl:choose> |
| <xsl:when test="../@类型_C646 = 'as-char'">from-top</xsl:when> |
| <xsl:when test="uof:绝对_4107">from-top</xsl:when> |
| <xsl:when test="uof:相对_4109/@参考点_410A='bottom'">bottom</xsl:when> |
| <xsl:when test="uof:相对_4109/@参考点_410A='center'">middle</xsl:when> |
| <xsl:when test="uof:相对_4109/@参考点_410A='inside'">below</xsl:when> |
| <xsl:otherwise>top</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="vertrel"> |
| <xsl:choose> |
| <xsl:when test="@相对于_410C='margin'">page-content</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="@相对于_410C"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:vertical-pos"><xsl:value-of select="$vertpos"/></xsl:attribute> |
| <xsl:attribute name="style:vertical-rel"><xsl:value-of select="$vertrel"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="uof:水平_4106"> |
| <xsl:variable name="horipos"> |
| <xsl:choose> |
| <xsl:when test="uof:绝对_4107">from-left</xsl:when> |
| <xsl:when test="uof:相对_4109/@参考点_410A='left'">left</xsl:when> |
| <xsl:when test="uof:相对_4109/@参考点_410A='center'">center</xsl:when> |
| <xsl:when test="uof:相对_4109/@参考点_410A='right'">right</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="horirel"> |
| <xsl:choose> |
| <xsl:when test="@相对于_410C='margin'">page-content</xsl:when> |
| <!--xsl:when test="@相对于_410C='margin'">paragraph</xsl:when--> |
| <xsl:when test="@相对于_410C='page'">page</xsl:when> |
| <xsl:when test="@相对于_410C='column'">paragraph</xsl:when> |
| <xsl:when test="@相对于_410C='char'">char</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:horizontal-pos"><xsl:value-of select="$horipos"/></xsl:attribute> |
| <xsl:attribute name="style:horizontal-rel"><xsl:value-of select="$horirel"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="uof:绕排_C622"> |
| <xsl:variable name="wrap_type"> |
| <xsl:value-of select="@绕排方式_C623"/> |
| </xsl:variable> |
| <xsl:variable name="wrap_place"> |
| <xsl:value-of select="@环绕文字_C624"/> |
| </xsl:variable> |
| <xsl:for-each select="@绕排方式_C623"> |
| <xsl:variable name="wrap"> |
| <xsl:choose> |
| <xsl:when test="$wrap_place = 'left'">left</xsl:when> |
| <xsl:when test="$wrap_place = 'both'">parallel</xsl:when> |
| <xsl:when test="$wrap_place = 'right'">right</xsl:when> |
| <xsl:when test="$wrap_place = 'largest'">dynamic</xsl:when> |
| <xsl:when test="$wrap_type = 'infront-of-text' or $wrap_type = 'behind-text'">run-through</xsl:when> |
| <xsl:when test="$wrap_type = 'top-bottom'">none</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="wrapcontour"> |
| <xsl:choose> |
| <xsl:when test="$wrap_type = 'tight' or $wrap_type = 'through'">true</xsl:when> |
| <xsl:when test="$wrap_type = 'square'">false</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="wrapcontourmode"> |
| <xsl:choose> |
| <xsl:when test="$wrap_type = 'tight'">outside</xsl:when> |
| <xsl:when test="$wrap_type = 'through'">full</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="run-through"> |
| <xsl:choose> |
| <xsl:when test="$wrap_type = 'behind-text'">background</xsl:when> |
| <xsl:otherwise>foreground</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:wrap"><xsl:value-of select="$wrap"/></xsl:attribute> |
| <xsl:attribute name="style:wrap-contour"><xsl:value-of select="$wrapcontour"/></xsl:attribute> |
| <xsl:attribute name="style:wrap-contour-mode"><xsl:value-of select="$wrapcontourmode"/></xsl:attribute> |
| <xsl:attribute name="style:run-through"><xsl:value-of select="$run-through"/></xsl:attribute> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="图:图片属性_801E" mode="Graph"> |
| <xsl:if test="图:颜色模式_801F"> |
| <xsl:attribute name="draw:color-mode"><xsl:choose><xsl:when test="图:颜色模式_801F = 'auto'">standard</xsl:when><xsl:when test="图:颜色模式_801F = 'monochrome'">mono</xsl:when><xsl:when test="图:颜色模式_801F = 'erosion'">watermark</xsl:when><xsl:otherwise><xsl:value-of select="图:颜色模式_801F"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="图:亮度_8020"> |
| <xsl:attribute name="draw:luminance"><xsl:value-of select="concat(图:亮度_8020,'%')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:luminance">0%</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="图:对比度_8021"> |
| <xsl:attribute name="draw:contrast"><xsl:value-of select="concat(图:对比度_8021,'%')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:contrast">0%</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="图:图片裁剪_8022"> |
| <xsl:variable name="clipup"> |
| <xsl:value-of select="concat(图:图片裁剪_8022/图:上_8023,$uofUnit)"/> |
| </xsl:variable> |
| <xsl:variable name="clipdown"> |
| <xsl:value-of select="concat(图:图片裁剪_8022/图:下_8024,$uofUnit)"/> |
| </xsl:variable> |
| <xsl:variable name="clipleft"> |
| <xsl:value-of select="concat(图:图片裁剪_8022/图:左_8025,$uofUnit)"/> |
| </xsl:variable> |
| <xsl:variable name="clipright"> |
| <xsl:value-of select="concat(图:图片裁剪_8022/图:右_8026,$uofUnit)"/> |
| </xsl:variable> |
| <xsl:attribute name="fo:clip"><xsl:value-of select="concat('rect(',$clipup,',',$clipright,',',$clipdown,',',$clipleft,')')"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="图:预定义图形_8018" mode="Graph"> |
| <xsl:param name="textanchor"/> |
| <!-- |
| <xsl:for-each select="node()"> |
| <xsl:choose> |
| <xsl:when test="self::node()[name(.)='图:类别']"> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='图:名称']"> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='图:生成软件']"> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='图:关键点坐标']"> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='图:属性']"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='图:图片属性']"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='图:连接线规则']"> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each>--> |
| <xsl:if test="图:属性_801D"> |
| <xsl:apply-templates select="图:属性_801D" mode="Graph"> |
| <xsl:with-param name="textanchor" select="$textanchor"/> |
| </xsl:apply-templates> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="图:文本_803C" mode="Graph"> |
| <xsl:param name="textanchor"/> |
| <xsl:if test="图:边距_803D/@上_C609 != ''"> |
| <xsl:attribute name="fo:padding-top"><xsl:value-of select="concat(图:边距_803D/@上_C609,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:边距_803D/@下_C60B != ''"> |
| <xsl:attribute name="fo:padding-bottom"><xsl:value-of select="concat(图:边距_803D/@下_C60B,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:边距_803D/@左_C608 != ''"> |
| <xsl:attribute name="fo:padding-left"><xsl:value-of select="concat(图:边距_803D/@左_C608,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:边距_803D/@右_C60A != ''"> |
| <xsl:attribute name="fo:padding-right"><xsl:value-of select="concat(图:边距_803D/@右_C60A,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图:对齐_803E/@水平对齐_421D"> |
| <xsl:if test="not($textanchor and $textanchor/uof:占位符_C626/@类型_C627)"> |
| <xsl:variable name="horizotalType"> |
| <xsl:choose> |
| <xsl:when test="图:对齐_803E/@水平对齐_421D = 'left'">left</xsl:when> |
| <xsl:when test="图:对齐_803E/@水平对齐_421D = 'center'">center</xsl:when> |
| <xsl:when test="图:对齐_803E/@水平对齐_421D = 'right'">right</xsl:when> |
| <xsl:when test="图:对齐_803E/@水平对齐_421D = 'justified'">justify</xsl:when> |
| <xsl:otherwise>left</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:textarea-horizontal-align"><xsl:value-of select="$horizotalType"/></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="图:对齐_803E/@文字对齐_421E"> |
| <xsl:variable name="verticalType"> |
| <xsl:choose> |
| <xsl:when test="图:对齐_803E/@文字对齐_421E = 'top'">top</xsl:when> |
| <xsl:when test="图:对齐_803E/@文字对齐_421E = 'center'">middle</xsl:when> |
| <xsl:when test="图:对齐_803E/@文字对齐_421E = 'bottom'">bottom</xsl:when> |
| <xsl:when test="图:对齐_803E/@文字对齐_421E = 'base'">justify</xsl:when> |
| <xsl:otherwise>top</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:textarea-vertical-align"><xsl:value-of select="$verticalType"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@是否自动换行_8047 = 'false'"> |
| <xsl:attribute name="fo:wrap-option">no-wrap</xsl:attribute> |
| </xsl:if> |
| <!--xsl:choose> |
| <xsl:when test="$textanchor and $textanchor/uof:占位符_C626"> |
| <xsl:attribute name="draw:auto-grow-height">true</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise--> |
| <xsl:attribute name="draw:auto-grow-height"><xsl:choose><xsl:when test="string(@是否大小适应文字_8048) = 'true'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute> |
| <!--软件默认值为true,导致图形变形--> |
| <xsl:attribute name="draw:auto-grow-width"><xsl:choose><xsl:when test="string(@是否大小适应文字_8048) = 'true'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="uof:边距_C628" mode="anchor"> |
| <xsl:if test="@上_C609"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat(@上_C609,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@下_C60B"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat(@下_C60B,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@右_C60A"> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat(@右_C60A,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@左_C608"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(@左_C608,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="图:图形_8062" mode="Graph"> |
| <xsl:param name="textanchor"/> |
| <xsl:element name="style:style"> |
| <xsl:choose> |
| <xsl:when test="$textanchor/uof:占位符_C626"> |
| <!--是演中的占位符,则重写family--> |
| <xsl:attribute name="style:family">presentation</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_804B"/></xsl:attribute> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@标识符_804B"/></xsl:attribute> |
| <xsl:variable name="placeholder" select="$textanchor/uof:占位符_C626"/> |
| <xsl:variable name="masterid"> |
| <xsl:choose> |
| <xsl:when test="name($textanchor/..)='演:母版_6C0D'"> |
| <xsl:value-of select="$textanchor/../@标识符_6BE8"/> |
| </xsl:when> |
| <xsl:when test="name($textanchor/..)='演:幻灯片_6C0F'"> |
| <xsl:value-of select="$textanchor/../@母版引用_6B26"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <!--重写部分style:parent-style-name--> |
| <xsl:choose> |
| <xsl:when test="$placeholder='title'"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="concat($masterid,'-title')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$placeholder='subtitle' or $placeholder='vertical_subtitle'"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="concat($masterid,'-subtitle')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$placeholder='text' or $placeholder='vertical_text' or $placeholder='outline'"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="concat($masterid,'-outline1')"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- alert starting |
| <xsl:attribute name="style:family">graphic</xsl:attribute> |
| alert ending. --> |
| <!--<xsl:for-each select="$textanchor">--> |
| <xsl:choose> |
| <!--xsl:when test="parent::node() = '演:母版_6C0D'"--> |
| <xsl:when test="$textanchor"> |
| <xsl:for-each select="$textanchor"> |
| <xsl:choose> |
| <xsl:when test="parent::node() = '演:母版_6C0D'"> |
| <xsl:attribute name="style:family">presentation</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:family">graphic</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:family">graphic</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_804B"/></xsl:attribute> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@标识符_804B"/></xsl:attribute> |
| <!-- convert frame or customshape --> |
| <xsl:variable name="id" select="@标识符_804B"/> |
| <xsl:variable name="IsFrame"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:前后链接_803F/@前一链接_8040 = $id or /uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:前后链接_803F/@后一链接_8041 = $id">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="图:文本_803C/图:内容_8043//字:域开始_419E or 图:文本_803C/图:内容_8043/图:文字表_416C or 图:文本_803C/图:前后链接_803F/@前一链接_8040 or 图:文本_803C/图:前后链接_803F/@后一链接_8041 or $IsFrame = 'true' or (图:其他对象引用_8038 != '') or 图:文本_803C/图:内容_8043//uof:锚点_C644"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="'Frame'"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="图:文本_803C/图:内容_8043[string(@是否为文本框_8046) = 'true'] or 图:文本_803C/图:内容_8043[string(@是否为文本框_8046) = '1']"/> |
| <!-- style:parent-style-name for xlink:href --> |
| <xsl:when test="图:图片数据引用_8037"> |
| <!--用'图:预定义图形_8018/图:属性_801D/图:图片属性_801E'这个属性判断也行--> |
| <xsl:attribute name="style:parent-style-name">Frame</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:parent-style-name">Default</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| <style:graphic-properties draw:auto-grow-height="false" style:wrap="run-through" style:run-through="foreground" fo:padding-left="0pt" fo:padding-right="0pt" fo:padding-top="0pt" fo:padding-bottom="0pt"> |
| <!--<xsl:if test="name($textanchor)='字:锚点'"> |
| <xsl:attribute name="style:wrap">run-through</xsl:attribute> |
| <xsl:attribute name="style:run-through">foreground</xsl:attribute> |
| </xsl:if>--> |
| <!--增加演示文稿文本框中min-height属性--> |
| <xsl:if test="$textanchor/uof:占位符_C626/@类型_C627"> |
| <xsl:attribute name="fo:min-height"><xsl:value-of select="concat($textanchor/uof:大小_C621/@长_C604,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='图:svg图形对象_8017'"> |
| </xsl:when> |
| <xsl:when test="name(.)='图:预定义图形_8018'"> |
| <xsl:apply-templates select="." mode="Graph"> |
| <xsl:with-param name="textanchor" select="$textanchor"/> |
| </xsl:apply-templates> |
| </xsl:when> |
| <xsl:when test="name(.)='图:文本_803C'"> |
| <xsl:apply-templates select="." mode="Graph"> |
| <xsl:with-param name="textanchor" select="$textanchor"/> |
| </xsl:apply-templates> |
| </xsl:when> |
| <xsl:when test="name(.)='图:控制点_8039'"> |
| </xsl:when> |
| <xsl:when test="name(.)='图:翻转_803A'"> |
| </xsl:when> |
| <xsl:when test="name(.)='图:组合位置_803B'"> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| <xsl:if test="$textanchor"> |
| <!-- a special case,there is a @类型,but no uof:垂直 , starting --> |
| <xsl:if test="$textanchor/uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:attribute name="style:vertical-pos"><xsl:value-of select="'from-top'"/></xsl:attribute> |
| </xsl:if> |
| <!-- a special case,there is a @类型,but no uof:垂直 ,ending --> |
| <xsl:apply-templates select="$textanchor/uof:位置_C620/uof:垂直_410D"/> |
| <xsl:apply-templates select="$textanchor/uof:位置_C620/uof:水平_4106"/> |
| <xsl:apply-templates select="$textanchor/uof:绕排_C622"/> |
| <xsl:if test="$textanchor/uof:边距_C628"> |
| <xsl:apply-templates select="$textanchor/uof:边距_C628" mode="anchor"/> |
| </xsl:if> |
| <xsl:if test="$textanchor/uof:保护_C62A/@大小_C643='true'"> |
| <xsl:choose> |
| <xsl:when test="图:预定义图形_8018/图:名称_801A"> |
| <xsl:attribute name="style:protect">position size</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:protect">content size position</xsl:attribute> |
| <xsl:attribute name="draw:size-protect">true</xsl:attribute> |
| <xsl:attribute name="draw:move-protect">true</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="$textanchor/uof:是否允许重叠_C62B"> |
| <xsl:attribute name="style:allowoverlap"><xsl:value-of select="$textanchor/uof:是否允许重叠_C62B"/></xsl:attribute> |
| </xsl:if> |
| <!--<xsl:if test="name($textanchor)='uof:锚点_C644'"> |
| <xsl:choose> |
| <xsl:when test="$textanchor/@随动方式_C62F='move'"> |
| <xsl:attribute name="style:protect">size</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$textanchor/@随动方式_C62F='movesize'"> |
| <xsl:attribute name="style:protect">position</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$textanchor/@随动方式_C62F='none'"> |
| <xsl:attribute name="style:protect">position size</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if>--> |
| </style:graphic-properties> |
| <xsl:for-each select="图:文本_803C/图:文字排列方向_8042"> |
| <xsl:variable name="writing-mode"> |
| <xsl:choose> |
| <xsl:when test=".='r2l-t2b-90e-90w' or .='r2l-t2b-0e-90w' or .='l2r-b2t-270e-270w' or .='l2r-t2b-0e-90w' or .='vert-l2r'">tb-rl</xsl:when> |
| <xsl:when test=".='l2r-b2t-270e-270w' or .='vert-l2r'">tb-rl</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$writing-mode != ''"> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:attribute name="style:font-independent-line-spacing" select="'true'"/> |
| <xsl:attribute name="style:writing-mode"><xsl:value-of select="$writing-mode"/></xsl:attribute> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="GraphicStyle"> |
| <xsl:for-each select="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062"> |
| <xsl:variable name="textanchor" select="key('rel_graphic_name',@标识符_804B)[1]"/> |
| <!--排除母版中的titile、outline或text占位符引用的图形对应的式样(这些式样在officestyle中)--> |
| <!--修改兼容案例 --> |
| <!--xsl:if test="not(name($textanchor/..)='演:母版_6C0D' and $textanchor/../@类型_6BEA='slide' and ($textanchor/占位符_C626='title' or $textanchor/占位符_C626='text' or $textanchor/占位符_C626='outline')) and not($textanchor/@是否显示缩略图_C630='true' and $textanchor/占位符_C626!='clipart' and $textanchor/占位符_C626!='graphics')"> |
| <xsl:apply-templates select="." mode="Graph"> |
| <xsl:with-param name="textanchor" select="$textanchor"/> |
| </xsl:apply-templates> |
| </xsl:if--> |
| <!--母版中的图形式样存储在styles.xml中--> |
| <xsl:if test="not(name($textanchor/..)='演:母版_6C0D')"> |
| <xsl:apply-templates select="." mode="Graph"> |
| <xsl:with-param name="textanchor" select="$textanchor"/> |
| </xsl:apply-templates> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据_D701"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="MasterGraphicStyle"> |
| <xsl:for-each select="/uof:UOF_0000/图形:图形集_7C00"> |
| <xsl:for-each select="图:图形_8062"> |
| <xsl:variable name="textanchor" select="key('rel_graphic_name',@标识符_804B)[1]"/> |
| <xsl:if test="name($textanchor/..)='演:母版_6C0D'"> |
| <xsl:apply-templates select="." mode="Graph"> |
| <xsl:with-param name="textanchor" select="$textanchor"/> |
| </xsl:apply-templates> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="ArrowDefinition"> |
| <xsl:if test="图:预定义图形_8018/图:属性_801D/图:箭头_805D/图:前端箭头_805E"> |
| <xsl:element name="draw:marker"> |
| <xsl:variable name="tusy3" select="图:预定义图形_8018/图:属性_801D/图:箭头_805D/图:前端箭头_805E/图:式样_8000"/> |
| <xsl:variable name="tudx3" select="图:预定义图形_8018/图:属性_801D/图:箭头_805D/图:前端箭头_805E/图:大小_8001"/> |
| <xsl:variable name="drawname"> |
| <xsl:choose> |
| <xsl:when test="$tusy3='normal'"> |
| <xsl:value-of select="concat('msArrowEnd_20_',$tudx3)"/> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond'"> |
| <xsl:value-of select="concat('msArrowDiamondEnd_20_',$tudx3)"/> |
| </xsl:when> |
| <xsl:when test="$tusy3='open'"> |
| <xsl:value-of select="concat('msArrowOpenEnd_20_',$tudx3)"/> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth'"> |
| <xsl:value-of select="concat('msArrowStealthEnd_20_',$tudx3)"/> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval'"> |
| <xsl:value-of select="concat('msArrowOvalEnd_20_',$tudx3)"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:name"><xsl:value-of select="$drawname"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="$tusy3='normal' and $tudx3='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 140h-140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='normal' and $tudx3='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 210h-140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='normal' and $tudx3='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 350h-140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='normal' and $tudx3='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 140h-210z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='normal' and $tudx3='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 210h-210z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='normal' and $tudx3='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 350h-210z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='normal' and $tudx3='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 140h-350z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='normal' and $tudx3='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 210h-350z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='normal' and $tudx3='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 350h-350z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 70-70 70-70-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 105-70 105-70-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 175-70 175-70-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 70-105 70-105-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 105-105 105-105-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 175-105 175-105-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 70-175 70-175-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 105-175 105-175-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='diamond' and $tudx3='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 175-175 175-175-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 128-20 12-50-90-48 90-22-12z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 292-20 18-50-134-48 134-22-18z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 318-20 32-50-224-48 224-22-32z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m106 0 104 128-32 12-72-90-74 90-32-12z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m106 0 104 192-32 18-72-134-74 134-32-18z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m106 0 104 318-32 32-72-224-74 224-32-32z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m176 0 174 128-52 12-122-90-124 90-52-12z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m176 0 174 192-52 18-122-134-124 134-52-18z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='open' and $tudx3='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m176 0 174 318-52 32-122-224-124 224-52-32z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 140-70-56-70 56z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 210-70-84-70 84z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 350-70-140-70 140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 140-105-56-105 56z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 210-105-84-105 84z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 350-105-140-105 140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 140-175-56-175 56z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 210-175-84-175 84z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='stealth' and $tudx3='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 350-175-140-175 140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m140 0c0-38-32-70-70-70s-70 32-70 70 32 70 70 70 70-32 70-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m140 0c0-57-32-105-70-105s-70 48-70 105 32 105 70 105 70-48 70-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m140 0c0-96-32-175-70-175s-70 79-70 175 32 175 70 175 70-79 70-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m210 0c0-38-48-70-105-70s-105 32-105 70 48 70 105 70 105-32 105-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m210 0c0-57-48-105-105-105s-105 48-105 105 48 105 105 105 105-48 105-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m210 0c0-96-48-175-105-175s-105 79-105 175 48 175 105 175 105-79 105-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m350 0c0-38-79-70-175-70s-175 32-175 70 79 70 175 70 175-32 175-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m350 0c0-57-79-105-175-105s-175 48-175 105 79 105 175 105 175-48 175-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy3='oval' and $tudx3='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m350 0c0-96-79-175-175-175s-175 79-175 175 79 175 175 175 175-79 175-175z</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="图:预定义图形_8018/图:属性_801D/图:箭头_805D/图:后端箭头_805F"> |
| <xsl:element name="draw:marker"> |
| <xsl:variable name="tusy4" select="图:预定义图形_8018/图:属性_801D/图:箭头_805D/图:后端箭头_805F/图:式样_8000"/> |
| <xsl:variable name="tudx4" select="图:预定义图形_8018/图:属性_801D/图:箭头_805D/图:后端箭头_805F/图:大小_8001"/> |
| <xsl:variable name="drawname"> |
| <xsl:choose> |
| <xsl:when test="$tusy4='normal'"> |
| <xsl:value-of select="concat('msArrowEnd_20_',$tudx4)"/> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond'"> |
| <xsl:value-of select="concat('msArrowDiamondEnd_20_',$tudx4)"/> |
| </xsl:when> |
| <xsl:when test="$tusy4='open'"> |
| <xsl:value-of select="concat('msArrowOpenEnd_20_',$tudx4)"/> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth'"> |
| <xsl:value-of select="concat('msArrowStealthEnd_20_',$tudx4)"/> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval'"> |
| <xsl:value-of select="concat('msArrowOvalEnd_20_',$tudx4)"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:name"><xsl:value-of select="$drawname"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="$tusy4='normal' and $tudx4='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 140h-140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='normal' and $tudx4='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 210h-140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='normal' and $tudx4='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 350h-140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='normal' and $tudx4='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 140h-210z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='normal' and $tudx4='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 210h-210z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='normal' and $tudx4='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 350h-210z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='normal' and $tudx4='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 140h-350z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='normal' and $tudx4='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 210h-350z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='normal' and $tudx4='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 350h-350z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 70-70 70-70-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 105-70 105-70-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 175-70 175-70-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 70-105 70-105-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 105-105 105-105-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 175-105 175-105-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 70-175 70-175-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 105-175 105-175-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='diamond' and $tudx4='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 175-175 175-175-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 128-20 12-50-90-48 90-22-12z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 292-20 18-50-134-48 134-22-18z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 318-20 32-50-224-48 224-22-32z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m106 0 104 128-32 12-72-90-74 90-32-12z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m106 0 104 192-32 18-72-134-74 134-32-18z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m106 0 104 318-32 32-72-224-74 224-32-32z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m176 0 174 128-52 12-122-90-124 90-52-12z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m176 0 174 192-52 18-122-134-124 134-52-18z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='open' and $tudx4='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m176 0 174 318-52 32-122-224-124 224-52-32z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 140-70-56-70 56z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 210-70-84-70 84z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m70 0 70 350-70-140-70 140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 140-105-56-105 56z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 210-105-84-105 84z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m105 0 105 350-105-140-105 140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 140-175-56-175 56z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 210-175-84-175 84z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='stealth' and $tudx4='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m175 0 175 350-175-140-175 140z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='1'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m140 0c0-38-32-70-70-70s-70 32-70 70 32 70 70 70 70-32 70-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='2'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 310</xsl:attribute> |
| <xsl:attribute name="svg:d">m140 0c0-57-32-105-70-105s-70 48-70 105 32 105 70 105 70-48 70-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='3'"> |
| <xsl:attribute name="svg:viewBox">0 0 140 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m140 0c0-96-32-175-70-175s-70 79-70 175 32 175 70 175 70-79 70-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='4'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m210 0c0-38-48-70-105-70s-105 32-105 70 48 70 105 70 105-32 105-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='5'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m210 0c0-57-48-105-105-105s-105 48-105 105 48 105 105 105 105-48 105-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='6'"> |
| <xsl:attribute name="svg:viewBox">0 0 210 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m210 0c0-96-48-175-105-175s-105 79-105 175 48 175 105 175 105-79 105-175z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='7'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 140</xsl:attribute> |
| <xsl:attribute name="svg:d">m350 0c0-38-79-70-175-70s-175 32-175 70 79 70 175 70 175-32 175-70z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='8'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 210</xsl:attribute> |
| <xsl:attribute name="svg:d">m350 0c0-57-79-105-175-105s-175 48-175 105 79 105 175 105 175-48 175-105z</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$tusy4='oval' and $tudx4='9'"> |
| <xsl:attribute name="svg:viewBox">0 0 350 350</xsl:attribute> |
| <xsl:attribute name="svg:d">m350 0c0-96-79-175-175-175s-175 79-175 175 79 175 175 175 175-79 175-175z</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="name() = '扩展:前端箭头'"> |
| <xsl:element name="draw:marker"> |
| <xsl:copy-of select="@*"/> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="name() = '扩展:后端箭头'"> |
| <xsl:element name="draw:marker"> |
| <xsl:copy-of select="@*"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="LinearDefinition"> |
| <xsl:param name="dash"/> |
| <xsl:choose> |
| <xsl:when test="$dash = 'round-dot'"> |
| <draw:stroke-dash draw:name="round-dot" draw:display-name="round-dot" draw:style="round" draw:dots1="1" draw:dots1-length="0.025cm" draw:distance="0.025cm"/> |
| </xsl:when> |
| <xsl:when test="$dash = 'square-dot'"> |
| <draw:stroke-dash draw:name="square-dot" draw:display-name="square-dot" draw:style="rect" draw:dots1="1" draw:dots1-length="0.026cm" draw:distance="0.026cm"/> |
| </xsl:when> |
| <xsl:when test="$dash = 'dash'"> |
| <draw:stroke-dash draw:name="dash" draw:display-name="dash" draw:style="rect" draw:dots2="1" draw:dots2-length="0.105cm" draw:distance="0.079cm"/> |
| </xsl:when> |
| <xsl:when test="$dash = 'dash-dot'"> |
| <draw:stroke-dash draw:name="dash-dot" draw:display-name="dash-dot" draw:style="rect" draw:dots1="1" draw:dots1-length="0.026cm" draw:dots2="1" draw:dots2-length="0.105cm" draw:distance="0.079cm"/> |
| </xsl:when> |
| <xsl:when test="$dash = 'long-dash'"> |
| <draw:stroke-dash draw:name="long-dash" draw:display-name="long-dash" draw:style="rect" draw:dots2="1" draw:dots2-length="0.211cm" draw:distance="0.079cm"/> |
| </xsl:when> |
| <xsl:when test="$dash = 'long-dash-dot'"> |
| <draw:stroke-dash draw:name="long-dash-dot" draw:display-name="long-dash-dot" draw:style="rect" draw:dots1="1" draw:dots1-length="0.026cm" draw:dots2="1" draw:dots2-length="0.211cm" draw:distance="0.079cm"/> |
| </xsl:when> |
| <xsl:when test="$dash = 'dash-dot-dot'"> |
| <draw:stroke-dash draw:name="dash-dot-dot" draw:display-name="dash-dot-dot" draw:style="rect" draw:dots1="2" draw:dots1-length="0.026cm" draw:dots2="1" draw:dots2-length="0.211cm" draw:distance="0.079cm"/> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206/@名称 = 'draw:stroke-dash'"> |
| <xsl:for-each select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206[@名称 = 'draw:stroke-dash']/扩展:线型数据"> |
| <draw:stroke-dash> |
| <xsl:copy-of select="@*"/> |
| </draw:stroke-dash> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="GraphicDefinition"> |
| <xsl:for-each select="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062[图:预定义图形_8018/图:属性_801D/图:箭头_805D/图:前端箭头_805E] | /uof:UOF_0000/图形:图形集_7C00/图:图形_8062[图:预定义图形_8018/图:属性_801D/图:箭头_805D/图:后端箭头_805F] | /uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206/扩展:前端箭头 | /uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206/扩展:后端箭头"> |
| <xsl:call-template name="ArrowDefinition"/> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062[图:预定义图形_8018/图:属性_801D/图:线_8057/图:线类型_8059]"> |
| <xsl:call-template name="LinearDefinition"> |
| <xsl:with-param name="dash" select="图:预定义图形_8018/图:属性_801D/图:线_8057/图:线类型_8059/@虚实_805B"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="字:脚注_4159"> |
| <xsl:element name="text:note"> |
| <xsl:attribute name="text:note-class">footnote</xsl:attribute> |
| <xsl:element name="text:note-citation"> |
| <xsl:value-of select="@引文体_4157"/> |
| </xsl:element> |
| <xsl:element name="text:note-body"> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:段落_416B'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:文字表_416C'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="字:尾注_415A"> |
| <xsl:element name="text:note"> |
| <xsl:attribute name="text:note-class">endnote</xsl:attribute> |
| <xsl:element name="text:note-citation"> |
| <xsl:value-of select="@引文体_4157"/> |
| </xsl:element> |
| <xsl:element name="text:note-body"> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:段落_416B'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:文字表_416C'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:template> |
| <xsl:preserve-space elements="字:文本串_415B"/> |
| <xsl:template match="字:文本串_415B"> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:variable name="graphid" select="ancestor::图:图形_8062/@标识符_804B"/> |
| <xsl:variable name="sd-placeholder" select="key('rel_graphic_name',$graphid)/uof:占位符_C626/@类型_C627"/> |
| <xsl:choose> |
| <!-- alert staring |
| <xsl:when test="$sd-placeholder = 'date' and contains(.,'<日期/时间>')"> |
| <xsl:value-of select="replace(.,'<日期/时间>','')" disable-output-escaping="yes"/> |
| </xsl:when> |
| <xsl:when test="$sd-placeholder = 'header' and contains(.,'<页眉>')"> |
| <xsl:value-of select="replace(.,'<页眉>','')" disable-output-escaping="yes"/> |
| </xsl:when> |
| <xsl:when test="$sd-placeholder = 'footer' and contains(.,'<页脚>')"> |
| <xsl:value-of select="replace(.,'<页脚>','')" disable-output-escaping="yes"/> |
| </xsl:when> |
| <xsl:when test="$sd-placeholder = 'number' and contains(.,'<#>')"> |
| <xsl:value-of select="substring-before(.,'<#>')"/> |
| <xsl:value-of select="substring-after(.,'<#>')"/> |
| </xsl:when>--> |
| <xsl:when test="$sd-placeholder = 'date'"> |
| <presentation:date-time/> |
| <xsl:if test=".!= '<日期/时间>'"> |
| <xsl:value-of select="."/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="$sd-placeholder = 'header'"> |
| <presentation:header/> |
| <xsl:if test=".!= '<页眉>'"> |
| <xsl:value-of select="."/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="$sd-placeholder = 'footer'"> |
| <presentation:footer/> |
| <xsl:if test=".!= '<页脚>'"> |
| <xsl:value-of select="."/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="$sd-placeholder = 'number'"> |
| <text:page-number><编号></text:page-number> |
| <xsl:if test=".!= '<编号>' and .!= '<#>'"> |
| <xsl:value-of select="."/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="."/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="."/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <!-- |
| <xsl:template match="字:文本串_415B"> |
| <xsl:value-of select="."/> |
| </xsl:template>--> |
| <xsl:template match="uof:锚点_C644"> |
| <xsl:call-template name="ObjectContent"/> |
| </xsl:template> |
| <xsl:template match="字:制表符_415E"> |
| <xsl:element name="text:tab"/> |
| </xsl:template> |
| <xsl:template match="字:换行符_415F"> |
| <xsl:element name="text:line-break"/> |
| </xsl:template> |
| <xsl:template name="BreakPageOrColumn"> |
| <xsl:param name="styleName"/> |
| <xsl:variable name="level"> |
| <xsl:choose> |
| <xsl:when test="./字:段落属性_419B/字:自动编号信息_4186/@编号级别_4188"> |
| <xsl:value-of select="./字:段落属性_419B/字:自动编号信息_4186/@编号级别_4188"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="numberlevel"> |
| <xsl:for-each select="key('uof-number-styles',字:段落属性_419B/@式样引用_419C)"> |
| <xsl:value-of select="@级别值_4121"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="($numberlevel != '') and number($numberlevel) > 0"> |
| <xsl:value-of select="$numberlevel"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="textName"> |
| <xsl:choose> |
| <xsl:when test="number($level) > 0">text:h</xsl:when> |
| <xsl:when test="../../字:段落属性_419B/字:大纲级别_417C and ../../字:段落属性_419B/字:大纲级别_417C != '0'">text:h</xsl:when> |
| <xsl:otherwise>text:p</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="name(preceding-sibling::*[1]) = '字:句属性_4158' and (preceding-sibling::*[1]/@式样引用_419C or count(preceding-sibling::*[1]/child::*))"> |
| <xsl:text disable-output-escaping="yes"></text:span></xsl:text> |
| <xsl:text disable-output-escaping="yes"></</xsl:text> |
| <xsl:value-of select="$textName"/> |
| <xsl:text disable-output-escaping="yes">></xsl:text> |
| <xsl:text disable-output-escaping="yes"><</xsl:text> |
| <xsl:value-of select="$textName"/> |
| <xsl:text disable-output-escaping="yes"> </xsl:text> |
| <xsl:value-of select="$styleName"/> |
| <xsl:text disable-output-escaping="yes">></xsl:text> |
| <xsl:text disable-output-escaping="yes"><text:span></xsl:text> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:text disable-output-escaping="yes"></</xsl:text> |
| <xsl:value-of select="$textName"/> |
| <xsl:text disable-output-escaping="yes">></xsl:text> |
| <xsl:text disable-output-escaping="yes"><</xsl:text> |
| <xsl:value-of select="$textName"/> |
| <xsl:text disable-output-escaping="yes"> </xsl:text> |
| <xsl:value-of select="$styleName"/> |
| <xsl:text disable-output-escaping="yes">></xsl:text> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:分栏符_4160"> |
| <xsl:variable name="styleName" select="concat('text:style-name="',concat('breakcolumn',generate-id(../..)),'"')"/> |
| <xsl:call-template name="BreakPageOrColumn"> |
| <xsl:with-param name="styleName" select="$styleName"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template match="字:空格符_4161"> |
| <xsl:element name="text:s"> |
| <xsl:attribute name="text:c"><xsl:value-of select="@个数_4162"/></xsl:attribute> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="字:分页符_4163"> |
| <xsl:variable name="styleName" select="concat('text:style-name="',concat('breakpage',generate-id(../..)),'"')"/> |
| <xsl:variable name="whetherCreateLastNode"> |
| <xsl:if test="not(following-sibling::*) and not(../following-sibling::*)"> |
| <xsl:if test="name(../../following-sibling::*[1]) = '字:段落_416B' or name(../../following-sibling::*[1]) = '字:文字表_416C'"> |
| <xsl:if test="(name(../../following-sibling::字:句_419D[1]/*[1]) != '字:分页符_4163' and not(../../following-sibling::字:句_419D[1]/字:句属性_4158)) or (../../following-sibling::字:句_419D[1]/字:句属性_4158 and name(../../following-sibling::字:句_419D[1]/*[2]) != '字:分页符_4163')">false</xsl:if> |
| </xsl:if> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:variable name="whetherCreateFirstNode"> |
| <xsl:if test="not(preceding-sibling::*) or (count(preceding-sibling::*) = 1 and name(preceding-sibling::*[1]) = '字:句属性_4158')"> |
| <xsl:if test="not(../preceding-sibling::*) or (count(../preceding-sibling::*) = 1 and name(../preceding-sibling::*[1]) = '字:段落属性_419B')"> |
| <xsl:if test="name(../../preceding-sibling::*[1]) = '字:段落_416B' or name(../../preceding-sibling::*[1]) = '字:文字表_416C'">false</xsl:if> |
| </xsl:if> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$whetherCreateFirstNode = 'false'"/> |
| <xsl:when test="$whetherCreateLastNode = 'false'"/> |
| <xsl:otherwise> |
| <xsl:call-template name="BreakPageOrColumn"> |
| <xsl:with-param name="styleName" select="$styleName"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:引文符号_4164"> |
| |
| </xsl:template> |
| <xsl:template name="TextHyperlinkStart"> |
| <xsl:variable name="textastart"> |
| <xsl:value-of select="'<text:a'"/> |
| </xsl:variable> |
| <xsl:variable name="linkout"> |
| <xsl:value-of select="'xlink:type="simple"'"/> |
| </xsl:variable> |
| <xsl:variable name="hyperDest" select="@标识符_4100"/> |
| <xsl:variable name="href1"> |
| <xsl:variable name="bsh" select="key('hyperlink', $hyperDest)/超链:目标_AA01"/> |
| <xsl:if test="$bsh != ''"> |
| <xsl:analyze-string select="$bsh" regex="=?'?(.*?)'?!\$?([A-Z,a-z]{{1,2}})\$?(\d+)"> |
| <xsl:matching-substring> |
| <xsl:variable name="apos">'</xsl:variable> |
| <xsl:value-of select="concat('#', '$', regex-group(1), '.', '$', regex-group(2), '$', regex-group(3))"/> |
| </xsl:matching-substring> |
| <xsl:non-matching-substring> |
| <xsl:choose> |
| <xsl:when test="contains($bsh,'\')"> |
| <xsl:value-of select="concat('/',translate($bsh,'\','/'))"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$bsh"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:non-matching-substring> |
| </xsl:analyze-string> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:variable name="href2" select="concat('#', key('hyperlink', $hyperDest)/超链:书签_AA0D)"/> |
| <xsl:variable name="href"> |
| <xsl:choose> |
| <xsl:when test="not($href2='#')"> |
| <xsl:value-of select="$href2"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$href1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="hrefout"> |
| <xsl:value-of select="concat('xlink:href="', $href, '"')"/> |
| </xsl:variable> |
| <xsl:variable name="visited"> |
| <xsl:value-of select="key('hyperlink', $hyperDest)/超链:式样_AA02/@已访问式样引用_AA04"/> |
| </xsl:variable> |
| <xsl:variable name="stylename"> |
| <xsl:value-of select="key('hyperlink', $hyperDest)/超链:式样_AA02/@未访问式样引用_AA03"/> |
| </xsl:variable> |
| <xsl:variable name="visitedout"> |
| <xsl:value-of select="concat('text:style-name="', $stylename, '"')"/> |
| </xsl:variable> |
| <xsl:variable name="stylenameout"> |
| <xsl:value-of select="concat('text:visited-style-name="', $visited, '"')"/> |
| </xsl:variable> |
| <xsl:value-of disable-output-escaping="yes" select="concat($textastart, ' ', $linkout, ' ', $hrefout, ' ', $stylenameout, ' ', $visitedout, '>')"/> |
| </xsl:template> |
| <xsl:template match="字:区域开始_4165"> |
| <xsl:choose> |
| <xsl:when test="@类型_413B='hyperlink'"> |
| <xsl:variable name="biaoshi"> |
| <xsl:value-of select="@标识符_4100"/> |
| </xsl:variable> |
| <xsl:if test="following::*[name(.)='字:区域结束_4167'][@标识符引用_4168=$biaoshi]"> |
| <xsl:call-template name="TextHyperlinkStart"/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="@类型_413B='bookmark'"> |
| <xsl:variable name="biaoshi"> |
| <xsl:value-of select="@标识符_4100"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="following-sibling::*[1][name(.)='字:区域结束_4167'][@标识符引用_4168=$biaoshi]"> |
| <xsl:element name="text:bookmark"> |
| <xsl:choose> |
| <xsl:when test="not(@名称_4166)"> |
| <xsl:attribute name="text:name"><xsl:value-of select="/uof:UOF_0000/书签:书签集_9104/书签:书签_9105[书签:区域_9100/@区域引用_41CE=$biaoshi]/@名称_9103"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="text:name"><xsl:value-of select="@名称_4166"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="text:bookmark-start"> |
| <xsl:choose> |
| <xsl:when test="not(@名称_4166)"> |
| <xsl:attribute name="text:name"><xsl:value-of select="/uof:UOF_0000/书签:书签集_9104/书签:书签_9105[书签:区域_9100/@区域引用_41CE=$biaoshi]/@名称_9103"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="text:name"><xsl:value-of select="@名称_4166"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="@类型_413B='annotation'"> |
| <xsl:element name="office:annotation"> |
| <xsl:variable name="AnnoDest" select="@标识符_4100"/> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:批注集_B669/规则:批注_B66A[@区域引用_41CE=$AnnoDest]"> |
| <xsl:variable name="name" select="@作者_41DD"/> |
| <dc:creator> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/规则:公用处理规则_B665/规则:用户集_B667"> |
| <xsl:value-of select="/uof:UOF_0000/规则:公用处理规则_B665/规则:用户集_B667/规则:用户_B668[@标识符_4100=$name]/@姓名_41DC"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$name"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </dc:creator> |
| <xsl:if test="@作者缩写_41DF"> |
| <xsl:element name="dc:creator-initials"> |
| <xsl:value-of select="@作者缩写_41DF"/> |
| </xsl:element> |
| </xsl:if> |
| <dc:date> |
| <xsl:value-of select="@日期_41DE"/> |
| </dc:date> |
| <xsl:for-each select="*"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="@类型_413B='user-data'"> |
| <xsl:variable name="fileName" select="/uof:UOF_0000/数据:用户数据集_6300/数据:用户数据_6301/数据:关系_6302[uof:UOF_0000/@uof:用户数据引用 = current()/@标识符_4100]/@名称_630D"/> |
| <xsl:element name="office:annotation"> |
| <xsl:element name="dc:creator">__@*Start@#100001#1#0#0#0#0#0#0#16776960#</xsl:element> |
| <xsl:element name="text:p"> |
| <xsl:value-of select="$fileName"/> |
| </xsl:element> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:区域结束_4167"> |
| <xsl:variable name="startmark" select="@标识符引用_4168"/> |
| <xsl:for-each select="preceding::*[name(.)='字:区域开始_4165'][@标识符_4100=$startmark]"> |
| <xsl:choose> |
| <xsl:when test="@类型_413B='hyperlink'"> |
| <xsl:text disable-output-escaping="yes"></text:a></xsl:text> |
| </xsl:when> |
| <xsl:when test="@类型_413B='bookmark'"> |
| <xsl:choose> |
| <xsl:when test="following-sibling::*[1][name(.)='字:区域结束_4167'][@标识符引用_4168=$startmark]"> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="text:bookmark-end"> |
| <xsl:attribute name="text:name"><xsl:value-of select="/uof:UOF_0000/书签:书签集_9104/书签:书签_9105[书签:区域_9100/@区域引用_41CE=$startmark]/@名称_9103"/></xsl:attribute> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="@类型_413B='annotation'"> |
| <xsl:choose> |
| <xsl:when test="@标识符_4100=$startmark"> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="office:annotation_end"> |
| <xsl:attribute name="office:name"><xsl:value-of select="$startmark"/></xsl:attribute> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="@类型_413B='user-data'"> |
| <xsl:variable name="fileName" select="/uof:UOF_0000/数据:用户数据集_6300/数据:用户数据_6301/数据:关系_6302[uof:UOF_0000/@uof:用户数据引用 = current()/@标识符引用_4168]/@名称_630D"/> |
| <xsl:element name="office:annotation"> |
| <xsl:element name="dc:creator">__@*End@#100002#0#0#0#0#0#0#0#16776960#</xsl:element> |
| <xsl:element name="text:p"> |
| <xsl:value-of select="$fileName"/> |
| </xsl:element> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="字:修订开始_421F"> |
| <xsl:choose> |
| <xsl:when test="@标识符_4220"> |
| <text:change-start text:change-id="{@标识符_4220}"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <text:change-start text:change-id="{@修订信息引用_4222}"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:修订结束_4223"> |
| <text:change-end> |
| <xsl:attribute name="text:change-id"><xsl:value-of select="@开始标识引用_4224"/></xsl:attribute> |
| </text:change-end> |
| </xsl:template> |
| <xsl:template name="SentenceContent"> |
| <xsl:variable name="nCount"> |
| <xsl:value-of select="count(./字:区域开始_4165[@类型_413B='hyperlink'])"/> |
| </xsl:variable> |
| <xsl:variable name="HyperStart"> |
| <xsl:value-of select="./字:区域开始_4165[@类型_413B='hyperlink']"/> |
| </xsl:variable> |
| <xsl:variable name="HyperEnd"> |
| <xsl:value-of select="./字:区域结束_4167[@类型_413B='hyperlink']"/> |
| </xsl:variable> |
| <xsl:variable name="startmark" select="@标识符引用_4168"/> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:脚注_4159'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:尾注_415A'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:文本串_415B'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='uof:锚点_C644'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:制表符_415E'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:换行符_415F'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:分栏符_4160'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:空格符_4161'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:分页符_4163'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:引文符号'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:区域开始_4165'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:区域结束_4167'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订开始_421F'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订结束_4223'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="字:句_419D"> |
| <xsl:choose> |
| <xsl:when test="字:句属性_4158 and (字:句属性_4158/@式样引用_417B or count(./字:句属性_4158/child::*))"> |
| <xsl:element name="text:span"> |
| <xsl:choose> |
| <xsl:when test="count(./字:句属性_4158/child::*)"> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="generate-id(字:句属性_4158)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="字:句属性_4158/@式样引用_417B!=''"> |
| <xsl:variable name="textstylename"> |
| <xsl:variable name="textstyleref" select="字:句属性_4158/@式样引用_417B"/> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@标识符_4100=$textstyleref]"> |
| <xsl:value-of select="$textstyleref"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="generate-id(字:句属性_4158)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="$textstylename"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:call-template name="SentenceContent"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="SentenceContent"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="ParaContent"> |
| <xsl:variable name="SpecialSection"> |
| <xsl:variable name="SectPos"> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::*[1][name(.) = '字:分节_416A'] and preceding-sibling::*[1]/字:节属性_421B/字:节类型_41EA != 'continuous'"> |
| <!--xsl:call-template name="IsPrecedeType"> |
| <xsl:with-param name="nodename" select="'字:分节'"/> |
| <xsl:with-param name="pos" select="0"/> |
| </xsl:call-template--> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="number($SectPos) > 0"> |
| <!--<xsl:when test="preceding-sibling::node()[1][name()='字:分节']">--> |
| <xsl:for-each select="preceding-sibling::*[position()=$SectPos]"> |
| <xsl:choose> |
| <xsl:when test="字:节属性_421B/字:是否首页页眉页脚不同_41EE='true'"> |
| <xsl:value-of select="generate-id(字:节属性_421B/字:是否首页页眉页脚不同_41EE)"/> |
| </xsl:when> |
| <xsl:when test="字:节属性_421B/@字:首页显示 = 'false'"> |
| <xsl:value-of select="generate-id(字:节属性_421B/字:页码设置_4205)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="@名称_4166='RoStandard'"> |
| <xsl:value-of select="string('none')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="generate-id(.)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="string('none')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="stylename"> |
| <xsl:variable name="breakPageForLastNode"> |
| <xsl:if test="name(preceding-sibling::*[1]/字:句_419D[last()]/*[last()]) = '字:分页符_4163'"> |
| <xsl:if test="not(name(./字:句_419D[1]/*[1]) = '字:句属性_4158' and name(./字:句_419D[1]/*[2]) = '字:分页符_4163' and name(./字:句_419D[1]/*[last()]) = '字:分页符_4163') and name(./字:句_419D[1]/*[1]) != '字:分页符_4163'">page</xsl:if> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:variable name="breakPageForFirstNode"> |
| <xsl:if test="(name(./字:句_419D[1]/*[1]) = '字:句属性_4158' and name(./字:句_419D[1]/*[2]) = '字:分页符_4163') or name(./字:句_419D[1]/*[1]) = '字:分页符_4163'"> |
| <xsl:if test=" (name(./字:句_419D[1]/*[last()]) = '字:分页符_4163' and count(./字:句_419D) > 1) or name(./字:句_419D[1]/*[last()]) != '字:分页符_4163'"> |
| <xsl:if test="name(preceding-sibling::*[1]) = '字:段落_416B' or name(preceding-sibling::*[1]) = '字:文字表_416C'">page</xsl:if> |
| </xsl:if> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$breakPageForFirstNode = 'page' or $breakPageForLastNode = 'page'"> |
| <xsl:value-of select="concat('breakpage',generate-id(.))"/> |
| </xsl:when> |
| <xsl:when test="($SpecialSection != 'none')"> |
| <xsl:value-of select="generate-id(.)"/> |
| </xsl:when> |
| <xsl:when test="(count(./字:段落属性_419B/child::*) = 1) and not(./字:段落属性_419B/字:自动编号信息_4186)"> |
| <xsl:value-of select="generate-id(.)"/> |
| </xsl:when> |
| <xsl:when test="count(./字:段落属性_419B/child::*) > 1"> |
| <xsl:value-of select="generate-id(.)"/> |
| </xsl:when> |
| <xsl:when test="ancestor::*[name() = '图:文本_803C']/图:文字排列方向_8042='r2l-t2b-90e-90w' or ancestor::*[name() = '图:文本_803C']/图:文字排列方向_8042='t2b-r2l-0e-0w' or ancestor::*[name() = '图:文本_803C']/图:文字排列方向_8042='r2l-t2b-0e-90w'"> |
| <xsl:value-of select="generate-id(.)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="./字:段落属性_419B/@式样引用_419C"> |
| <xsl:value-of select="./字:段落属性_419B/@式样引用_419C"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="none"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$stylename != 'none'"> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="$stylename"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:段落属性_419B/字:大纲级别_417C and 字:段落属性_419B/字:大纲级别_417C != '0'"> |
| <xsl:attribute name="text:outline-level"><xsl:value-of select="字:段落属性_419B/字:大纲级别_417C"/></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:句_419D'"> |
| <!-- uot目录域 --> |
| <xsl:if test="not(preceding-sibling::*[1][name(.)='字:域代码_419F'] and not(preceding-sibling::*[2][@类型_416E='toc']))"> |
| <xsl:apply-templates select="."/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="name(.)='字:域开始_419E'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <!-- |
| <xsl:when test="self::node()[name(.)='字:域代码']"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="self::node()[name(.)='字:域结束_419F']"> |
| <xsl:apply-templates select="."/> |
| </xsl:when>--> |
| <xsl:when test="name(.)='字:修订开始_421F'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订结束_4223'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="字:句_419D" mode="IsEmpty"> |
| <xsl:variable name="IsCurEmpty"> |
| <xsl:variable name="nCountChild" select="count(*)"/> |
| <xsl:choose> |
| <xsl:when test="$nCountChild = 0"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:when test="($nCountChild = 1) and (字:句属性_4158 != '')"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'false'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$IsCurEmpty = 'true'"> |
| <xsl:choose> |
| <xsl:when test="following-sibling::字:句_419D"> |
| <xsl:apply-templates select="following-sibling::字:句_419D[1]" mode="IsEmpty"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'true'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="ParaElement"> |
| <xsl:param name="textName"/> |
| <xsl:variable name="IsEmpty"> |
| <xsl:if test="$document_type='presentation'"> |
| <xsl:variable name="nCount1" select="count(字:域开始_419E)"/> |
| <xsl:variable name="nCount2" select="count(域代码_419F)"/> |
| <xsl:variable name="nCount3" select="count(字:域结束_419F)"/> |
| <xsl:variable name="nCount4" select="count(字:修订开始_421F)"/> |
| <xsl:variable name="nCount5" select="count(字:修订结束_4223)"/> |
| <xsl:if test="($nCount1 = 0) and ($nCount2 = 0) and ($nCount3 = 0) and ($nCount4 = 0) and ($nCount5 = 0)"> |
| <xsl:choose> |
| <xsl:when test="count(字:句_419D) = 0"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <!-- alert staring |
| <xsl:otherwise> |
| <xsl:apply-templates select="字:句_419D[1]" mode="IsEmpty"/> |
| </xsl:otherwise> |
| --> |
| <xsl:otherwise> |
| <xsl:value-of select="'false'"/> |
| </xsl:otherwise> |
| <!-- alert ending. --> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:if test="$IsEmpty != 'true'"> |
| <xsl:choose> |
| <xsl:when test="字:域开始_419E[@类型_416E='REF'] or 字:域开始_419E[@类型_416E='section'] or 字:域开始_419E[@类型_416E='INDEX'] or 字:域开始_419E[@类型_416E='pageinsection']"> |
| <xsl:apply-templates select="字:域开始_419E"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="{$textName}"> |
| <xsl:if test="@标识符_4220"> |
| <xsl:attribute name="text:id"><xsl:value-of select="@标识符_4220"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@标识符_4169"> |
| <xsl:attribute name="text:id"><xsl:value-of select="@标识符_4169"/></xsl:attribute> |
| </xsl:if> |
| <xsl:call-template name="ParaContent"/> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="ListContent"> |
| <xsl:param name="level"/> |
| <xsl:param name="stylename"/> |
| <xsl:param name="parastyle"/> |
| <xsl:param name="continue-numbering"/> |
| <xsl:element name="text:list"> |
| <xsl:if test="$stylename != ''"> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="$stylename"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$continue-numbering != ''"> |
| <xsl:attribute name="text:continue-numbering"><xsl:value-of select="$continue-numbering"/></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="number($level) = 0"> |
| <xsl:element name="text:list-header"> |
| <xsl:call-template name="ParaElement"> |
| <xsl:with-param name="textName" select="'text:p'"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="number($level) = 1"> |
| <xsl:element name="text:list-item"> |
| <xsl:call-template name="ParaElement"> |
| <xsl:with-param name="textName" select="'text:p'"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="text:list-item"> |
| <xsl:call-template name="ListContent"> |
| <xsl:with-param name="level" select="$level - 1"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="LevelInNumber"> |
| <xsl:param name="parastyle"/> |
| <xsl:choose> |
| <xsl:when test="./字:段落属性_419B/字:自动编号信息_4186/@编号级别_4188"> |
| <xsl:value-of select="./字:段落属性_419B/字:自动编号信息_4186/@编号级别_4188"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="numberlevel"> |
| <xsl:for-each select="key('uof-number-styles',字:段落属性_419B/@式样引用_419C)"> |
| <xsl:value-of select="@级别值_4121"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:choose> |
| <!--<xsl:when test="not($numberlevel) and $numberlevel > 0">--> |
| <xsl:when test="($numberlevel != '') and number($numberlevel) > 0"> |
| <xsl:value-of select="$numberlevel"/> |
| </xsl:when> |
| <xsl:when test="$parastyle/字:自动编号信息_4186/@编号级别_4188"> |
| <xsl:value-of select="$parastyle/字:自动编号信息_4186/@编号级别_4188"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="LevelInOutline"> |
| <xsl:param name="parastyle"/> |
| <xsl:choose> |
| <xsl:when test="$parastyle"> |
| <xsl:choose> |
| <xsl:when test="$parastyle/字:大纲级别_417C"> |
| <xsl:value-of select="$parastyle/字:大纲级别_417C"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="parentparastyle" select="key('uof-paragraph-styles',$parastyle/@基式样引用_4104)"/> |
| <xsl:call-template name="LevelInOutline"> |
| <xsl:with-param name="parastyle" select="$parentparastyle"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <!--各级段落式样中均未存大纲级别--> |
| <xsl:otherwise>'F'</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:段落_416B"> |
| <xsl:variable name="keyStyleName" select="字:段落属性_419B/@式样引用_419C"/> |
| <xsl:variable name="parastyle" select="key('uof-paragraph-styles',$keyStyleName)"/> |
| <xsl:variable name="level"> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:variable name="graphid" select="ancestor::图:图形_8062/@标识符_804B"/> |
| <xsl:choose> |
| <xsl:when test="key('rel_graphic_name',$graphid)/uof:占位符_C626/@类型_C627='outline'"> |
| <xsl:variable name="outlinelevel"> |
| <xsl:choose> |
| <xsl:when test="./字:段落属性_419B/字:大纲级别_417C"> |
| <xsl:value-of select="./字:段落属性_419B/字:大纲级别_417C"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="LevelInOutline"> |
| <xsl:with-param name="parastyle" select="$parastyle"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$outlinelevel='F'"> |
| <xsl:call-template name="LevelInNumber"> |
| <xsl:with-param name="parastyle" select="$parastyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$outlinelevel"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="LevelInNumber"> |
| <xsl:with-param name="parastyle" select="$parastyle"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="LevelInNumber"> |
| <xsl:with-param name="parastyle" select="$parastyle"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="stylename"> |
| <xsl:choose> |
| <xsl:when test="number($level) > 0"> |
| <xsl:choose> |
| <xsl:when test="./字:段落属性_419B/字:自动编号信息_4186/@编号引用_4187"> |
| <xsl:value-of select="字:段落属性_419B/字:自动编号信息_4186/@编号引用_4187"/> |
| </xsl:when> |
| <xsl:when test="$parastyle/字:自动编号信息_4186/@编号引用_4187"> |
| <xsl:value-of select="$parastyle/字:自动编号信息_4186/@编号引用_4187"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="key('uof-number-styles',字:段落属性_419B/@式样引用_419C)"> |
| <xsl:value-of select="../@标识符_4100"/> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="continue-numbering"> |
| <xsl:choose> |
| <xsl:when test="字:段落属性_419B/字:自动编号信息_4186/@是否重新编号_4189='true'">false</xsl:when> |
| <xsl:when test="$parastyle/字:自动编号信息_4186/@是否重新编号_4189='true'">false</xsl:when> |
| <xsl:otherwise>true</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="number($level) > 0 and not(./字:段落属性_419B/字:自动编号信息_4186/@编号引用_4187='HeadOutline')"> |
| <xsl:call-template name="ListContent"> |
| <xsl:with-param name="level" select="$level"/> |
| <xsl:with-param name="stylename" select="$stylename"/> |
| <xsl:with-param name="continue-numbering" select="$continue-numbering"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="textName"> |
| <xsl:choose> |
| <!-- 图形中的段落对应到odf中均为text:p --> |
| <xsl:when test="name(../..)='图:文本_803C'">text:p</xsl:when> |
| <xsl:when test="number($level) > 0">text:h</xsl:when> |
| <xsl:when test="字:段落属性_419B/字:大纲级别_417C and 字:段落属性_419B/字:大纲级别_417C != '0'">text:h</xsl:when> |
| <xsl:otherwise>text:p</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="ParaElement"> |
| <xsl:with-param name="textName" select="$textName"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:单元格属性_41B7"> |
| <xsl:if test="字:跨列_41A7"> |
| <xsl:attribute name="table:number-columns-spanned"><xsl:value-of select="字:跨列_41A7"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:跨行_41A6"> |
| <xsl:attribute name="table:number-rows-spanned"><xsl:value-of select="字:跨行_41A6"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:单元格_41BE"> |
| <xsl:element name="table:table-cell"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name( )='字:单元格属性_41B7'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name( )='字:段落_416B'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name( )='字:文字表_416C'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:otherwise> |
| |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="字:文字表属性_41CC"> |
| <xsl:variable name="newstyle"> |
| <xsl:variable name="nChildCount" select="count(./child::*)"/> |
| <xsl:choose> |
| <xsl:when test="$nChildCount = 0"> |
| <xsl:value-of select="0"/> |
| </xsl:when> |
| <!-- |
| <xsl:when test="$nChildCount = 1"> |
| <xsl:choose> |
| <xsl:when test="node()[1][name(.)='字:列宽集']"> |
| <xsl:value-of select="0"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when>--> |
| <xsl:otherwise> |
| <xsl:value-of select="1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="($newstyle = 1)"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="@式样引用_419C"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!-- |
| <xsl:for-each select="字:列宽集/字:列宽"> |
| <xsl:element name="table:table-column"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:element> |
| </xsl:for-each> --> |
| <xsl:variable name="curStyle"> |
| <xsl:if test="@式样引用_419C"> |
| <xsl:value-of select="key('uof-table-styles',@式样引用_419C)"/> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="字:列宽集_41C1/字:列宽_41C2"> |
| <xsl:for-each select="字:列宽集_41C1/字:列宽_41C2"> |
| <xsl:element name="table:table-column"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="$curStyle/字:列宽集_41C1/字:列宽_41C2"> |
| <xsl:for-each select="$curStyle/字:列宽集_41C1/字:列宽_41C2"> |
| <xsl:element name="table:table-column"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="../字:行_41CD[1]/字:单元格_41BE"> |
| <xsl:element name="table:table-column"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="generate-id(字:单元格属性_41B7/字:宽度_41A1)"/></xsl:attribute> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:行_41CD"> |
| <xsl:choose> |
| <xsl:when test="字:表行属性_41BD/字:是否表头行_41BC='true' or 字:表行属性_41BD/字:是否表头行_41BC='1'"> |
| <xsl:text disable-output-escaping="yes"><table:table-header-rows></xsl:text> |
| <xsl:element name="table:table-row"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name()='字:单元格_41BE'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:otherwise/> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| <xsl:text disable-output-escaping="yes"></table:table-header-rows></xsl:text> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="table:table-row"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name()='字:单元格_41BE'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:otherwise/> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="字:文字表_416C"> |
| <xsl:choose> |
| <xsl:when test="字:文字表属性_41CC/字:位置_41C7/uof:垂直_410D[@相对于_C647 = 'margin']/uof:相对_4109[@参考点_410B = 'bottom']"> |
| <xsl:element name="text:p"> |
| <xsl:if test="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/uof:公文框绑定内容/@uof:公文框绑定内容式样"> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/uof:公文框绑定内容/@uof:公文框绑定内容式样"/></xsl:attribute> |
| </xsl:if> |
| <xsl:element name="draw:frame"> |
| <xsl:if test="字:文字表属性_41CC"> |
| <xsl:attribute name="draw:style-name">Embeded_fr<xsl:number count="字:文字表_416C[not(@字:类型='sub-table')]" from="/uof:UOF_0000/字:文字处理文档_4225" level="any" format="1"/></xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="draw:name">Embeded_frame<xsl:number count="字:文字表_416C[not(@字:类型='sub-table')]" from="/uof:UOF_0000/字:文字处理文档_4225" level="any" format="1"/></xsl:attribute> |
| <xsl:attribute name="text:anchor-type"><xsl:value-of select="'paragraph'"/></xsl:attribute> |
| <xsl:if test="字:文字表属性_41CC"> |
| <xsl:variable name="to_spand_frame_constant"> |
| <xsl:value-of select="0.44 div $other-to-cm-conversion-factor"/> |
| </xsl:variable> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat(sum(字:文字表属性_41CC/字:列宽集_41C1/字:列宽_41C2), $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="draw:z-index"><xsl:value-of select="'0'"/></xsl:attribute> |
| <xsl:element name="draw:text-box"> |
| <xsl:element name="table:table"> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:文字表属性_41CC'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:行_41CD'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订开始_421F'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订结束_4223'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:element> |
| <xsl:if test="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/uof:公文框绑定内容"> |
| <xsl:variable name="pos" select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/uof:公文框绑定内容/@uof:公文框绑定内容位置"/> |
| <xsl:for-each select="/uof:UOF_0000/字:文字处理文档_4225/字:段落_416B[position()=$pos]"> |
| <xsl:apply-templates/> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="table:table"> |
| <xsl:variable name="isWrap"> |
| <xsl:choose> |
| <xsl:when test="字:文字表属性_41CC/字:绕排_41C5 = 'around'">true</xsl:when> |
| <xsl:when test="字:文字表属性_41CC/@式样引用_419C != '' and key('uof-table-styles',字:文字表属性_41CC/@式样引用_419C)/字:绕排_41C5 = 'around'">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$isWrap = 'true'"> |
| <xsl:attribute name="style:wrap">parallel</xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:文字表属性_41CC'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:行_41CD'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订开始_421F'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订结束_4223'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="TextContent"> |
| <xsl:param name="content"/> |
| <xsl:for-each select="$content/*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:分节_416A'"> |
| <!-- don't process this node here--> |
| </xsl:when> |
| <xsl:when test="name(.)='字:逻辑章节_421C'"> |
| |
| </xsl:when> |
| <xsl:when test="name(.)='字:段落_416B'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:文字表_416C'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订开始_421F'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:修订结束_4223'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="TimeDateNumberStyle"> |
| <xsl:for-each select="//字:域开始_419E[@类型_416E='createdate'] | //字:域开始_419E[@类型_416E='time'] | //字:域开始_419E[@类型_416E='savedate'] | //字:域开始_419E[@类型_416E='date']"> |
| <xsl:variable name="styleName"> |
| <xsl:choose> |
| <xsl:when test="contains(substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D[2]/字:文本串_415B[1],'\@ '),'d') or contains(substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D[2]/字:文本串_415B[1],'\@ '),'M') or contains(substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D[2]/字:文本串_415B[1],'\@ '),'y')">number:date-style</xsl:when> |
| <xsl:otherwise>number:time-style</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:element name="{$styleName}"> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:variable name="datestr" select="substring-after(following-sibling::字:域代码_419F/字:段落_416B/字:句_419D[2]/字:文本串_415B[1],'\@ ')"/> |
| <xsl:call-template name="TimeTransform"> |
| <xsl:with-param name="str1" select="substring($datestr,2,string-length($datestr)-2)"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="TableOfContentsField"> |
| <xsl:element name="text:table-of-content"> |
| <xsl:variable name="stylenum"> |
| <xsl:number from="/uof:UOF_0000/字:文字处理文档_4225" level="any" count="字:句_419D" format="1"/> |
| </xsl:variable> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="concat('Sect',$stylenum)"/></xsl:attribute> |
| <xsl:variable name="aanum"> |
| <xsl:number value="0" format="1"/> |
| </xsl:variable> |
| <xsl:attribute name="text:name"><xsl:value-of select="concat('内容目录',$aanum + 1)"/></xsl:attribute> |
| <text:table-of-content-source text:outline-level="10"> |
| <text:index-title-template text:style-name="Contents_20_Heading">内容目录</text:index-title-template> |
| <text:table-of-content-entry-template text:outline-level="1" text:style-name="Contents 1"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="2" text:style-name="Contents 2"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="3" text:style-name="Contents 3"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="4" text:style-name="Contents 4"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="5" text:style-name="Contents 5"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="6" text:style-name="Contents 6"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="7" text:style-name="Contents 7"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="8" text:style-name="Contents 8"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="9" text:style-name="Contents 9"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| <text:table-of-content-entry-template text:outline-level="10" text:style-name="Contents 10"> |
| <text:index-entry-link-start text:style-name="Index_20_Link"/> |
| <text:index-entry-chapter/> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| <text:index-entry-link-end/> |
| </text:table-of-content-entry-template> |
| </text:table-of-content-source> |
| <text:index-body> |
| <text:index-title> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="concat('Sect',$stylenum)"/></xsl:attribute> |
| <xsl:attribute name="text:name"><xsl:value-of select="concat('内容目录',$aanum + 1,'_Head')"/></xsl:attribute> |
| <xsl:apply-templates select="following-sibling::字:域代码_419F/字:段落_416B[position()=2]"/> |
| </text:index-title> |
| <xsl:for-each select="following-sibling::字:域代码_419F/child::*[position()>2]"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </text:index-body> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="AlphabeticalIndexField"> |
| <xsl:element name="text:alphabetical-index"> |
| <xsl:variable name="stylenum"> |
| <xsl:number from="/uof:UOF_0000/字:文字处理文档_4225" level="any" count="字:句_419D" format="1"/> |
| </xsl:variable> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="concat('Sect',$stylenum)"/></xsl:attribute> |
| <xsl:variable name="aanum"> |
| <xsl:number value="0" format="1"/> |
| </xsl:variable> |
| <xsl:attribute name="text:name"><xsl:value-of select="concat('索引目录',$aanum + 1)"/></xsl:attribute> |
| <text:alphabetical-index-source text:main-entry-style-name="Main_index_entry" text:sort-algorithm="pinyin" fo:language="zh" fo:country="CN"> |
| <text:index-title-template text:style-name="Index_20_Heading">索引目录</text:index-title-template> |
| <text:alphabetical-index-entry-template text:outline-level="separator" text:style-name="Index_Separator"> |
| <text:index-entry-text/> |
| </text:alphabetical-index-entry-template> |
| <text:alphabetical-index-entry-template text:outline-level="1" text:style-name="Index_20_1"> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| </text:alphabetical-index-entry-template> |
| <text:alphabetical-index-entry-template text:outline-level="2" text:style-name="Index_20_2"> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| </text:alphabetical-index-entry-template> |
| <text:alphabetical-index-entry-template text:outline-level="3" text:style-name="Index_20_3"> |
| <text:index-entry-text/> |
| <text:index-entry-tab-stop style:type="right" style:leader-char="."/> |
| <text:index-entry-page-number/> |
| </text:alphabetical-index-entry-template> |
| </text:alphabetical-index-source> |
| <text:index-body> |
| <text:index-title> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="concat('Sect',$stylenum)"/></xsl:attribute> |
| <xsl:attribute name="text:name"><xsl:value-of select="concat('索引目录',$aanum + 1,'_Head')"/></xsl:attribute> |
| <xsl:for-each select="字:域代码_419F/字:段落_416B[position()=2]"> |
| <text:p text:style-name="Index_20_Heading"> |
| <xsl:apply-templates select=".//字:文本串_415B"/> |
| </text:p> |
| </xsl:for-each> |
| </text:index-title> |
| <xsl:if test="字:域开始_419E/@类型_416E='INDEX'"> |
| <xsl:for-each select="字:域代码_419F/字:段落_416B[position()>2]"> |
| <xsl:element name="text:p"> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="./字:段落属性_419B/@式样引用_419C"/></xsl:attribute> |
| <xsl:for-each select="字:句_419D"> |
| <xsl:apply-templates select="self::node()/*"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:if> |
| </text:index-body> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="TimeTransform"> |
| <xsl:param name="str1"/> |
| <xsl:choose> |
| <xsl:when test="contains($str1,'[DBNum1]')"> |
| <xsl:analyze-string select="substring-after($str1,'[DBNum1]')" regex="(am/pm)|(AM/PM)|[a-zA-Z]+"> |
| <xsl:matching-substring> |
| <xsl:variable name="string" select="."/> |
| <xsl:choose> |
| <xsl:when test="$string='yyyy'"> |
| <number:year number:style="rolong"/> |
| </xsl:when> |
| <xsl:when test="$string='M'"> |
| <number:month number:style="rolong" number:textual="true"/> |
| </xsl:when> |
| <xsl:when test="$string='d'"> |
| <number:day number:style="rolong"/> |
| </xsl:when> |
| <xsl:when test="$string='AM/PM'"> |
| <number:am-pm/> |
| </xsl:when> |
| <xsl:when test="$string='h'"> |
| <number:hours number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='mm'"> |
| <number:minutes number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='ss'"> |
| <number:seconds number:style="long"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:matching-substring> |
| <xsl:non-matching-substring> |
| <number:text> |
| <xsl:value-of select="."/> |
| </number:text> |
| </xsl:non-matching-substring> |
| </xsl:analyze-string> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:analyze-string select="$str1" regex="(am/pm)|(AM/PM)|[a-zA-Z]+"> |
| <xsl:matching-substring> |
| <xsl:variable name="string" select="."/> |
| <xsl:choose> |
| <xsl:when test="$string='am/pm' or $string='AM/PM'"> |
| <number:am-pm/> |
| </xsl:when> |
| <xsl:when test="$string='yyyy'"> |
| <number:year number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='yy'"> |
| <number:year/> |
| </xsl:when> |
| <xsl:when test="$string='dddd'"> |
| <number:day-of-week number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='dd'"> |
| <number:day number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='d'"> |
| <number:day/> |
| </xsl:when> |
| <xsl:when test="$string='MMMM'"> |
| <number:month number:style="long" number:textual="true"/> |
| </xsl:when> |
| <xsl:when test="$string='MMM' or $string='MM'"> |
| <number:month number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='M'"> |
| <number:month/> |
| </xsl:when> |
| <xsl:when test="$string='HH' or $string='hh'"> |
| <number:hours number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='h' or $string='H'"> |
| <number:hours/> |
| </xsl:when> |
| <xsl:when test="$string='mm'"> |
| <number:minutes number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='m'"> |
| <number:minutes/> |
| </xsl:when> |
| <xsl:when test="$string='SS' or $string='ss'"> |
| <number:seconds number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='s'"> |
| <number:seconds/> |
| </xsl:when> |
| <xsl:when test="$string='WW'"> |
| <number:week-of-year number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='W'"> |
| <number:day-of-week number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='Q季'"> |
| <number:quarter/> |
| </xsl:when> |
| <xsl:when test="$string='第QQ季度'"> |
| <number:quarter number:style="long"/> |
| </xsl:when> |
| <xsl:when test="$string='NN'"> |
| <number:text>第</number:text> |
| <number:week-of-year/> |
| <number:text>周</number:text> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:matching-substring> |
| <xsl:non-matching-substring> |
| <number:text> |
| <xsl:value-of select="."/> |
| </number:text> |
| </xsl:non-matching-substring> |
| </xsl:analyze-string> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <!--<xsl:template name="TimeTransform"> |
| <xsl:param name="str1"/> |
| <xsl:choose> |
| |
| <xsl:when test="substring($str1,1,5)='am/pm'"> |
| <xsl:variable name="str1-before" select="substring($str1,1,5)"/> |
| <xsl:variable name="str1-after" select="substring($str1,6)"/> |
| <number:am-pm/> |
| <xsl:if test="$str1-after != ' '"> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="TimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="substring($str1,1,1)=substring($str1,2,1) and substring($str1,2,1) !=substring($str1,3,1) "> |
| <xsl:variable name="str1-before" select="substring($str1,1,2)"/> |
| <xsl:variable name="str1-after" select="substring($str1,3)"/> |
| <xsl:if test="substring($str1,1,1)='H' or substring($str1,1,1)='h'"> |
| <number:hours number:style="long"/> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='M' or substring($str1,1,1)='m'"> |
| <number:minutes number:style="long"/> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='S' or substring($str1,1,1)='s'"> |
| <number:seconds number:style="long"/> |
| </xsl:if> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="TimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:if test="substring($str1,1,1)='H'or substring($str1,1,1)='M'or substring($str1,1,1)='S'or substring($str1,1,1)='h' or substring($str1,1,1)='m' or substring($str1,1,1)='s'"> |
| <xsl:variable name="str1-after" select="substring($str1,2)"/> |
| <xsl:variable name="str1-before" select="substring($str1,1,1)"/> |
| <xsl:if test="substring($str1,1,1)='H' or substring($str1,1,1)='h'"> |
| <number:hours/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='M' or substring($str1,1,1)='m'"> |
| <number:minutes/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='S' or substring($str1,1,1)='s'"> |
| <number:seconds/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="TimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="DateTimeTransform"> |
| <xsl:param name="str1"/> |
| <xsl:choose> |
| |
| <xsl:when test="substring($str1,1,5)='am/pm'"> |
| <xsl:variable name="str1-before" select="substring($str1,1,5)"/> |
| <xsl:variable name="str1-after" select="substring($str1,6)"/> |
| <number:am-pm/> |
| <xsl:if test="$str1-after != ' '"> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="TimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="substring($str1,1,4)='yyyy'"> |
| <xsl:variable name="str1-before" select="substring($str1,1,4)"/> |
| <xsl:variable name="str1-after" select="substring($str1,5)"/> |
| <number:year number:style="long"/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="DateTimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="substring($str1,1,1)=substring($str1,2,1) and substring($str1,2,1) !=substring($str1,3,1) "> |
| <xsl:variable name="str1-before" select="substring($str1,1,2)"/> |
| <xsl:variable name="str1-after" select="substring($str1,3)"/> |
| <xsl:if test="substring($str1,1,1)='y'"> |
| <number:year/> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='M'"> |
| <number:month number:style="long"/> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='d'"> |
| <number:day number:style="long"/> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='H' or substring($str1,1,1)='h'"> |
| <number:hours number:style="long"/> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='m'"> |
| <number:minutes number:style="long"/> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='s'"> |
| <number:seconds number:style="long"/> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='W'"> |
| <number:week-of-year number:style="long"/> |
| </xsl:if> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="DateTimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:if test="substring($str1,1,1)='M'or substring($str1,1,1)='d'or substring($str1,1,1)='h'or substring($str1,1,1)='m'or substring($str1,1,1)='s'"> |
| <xsl:variable name="str1-after" select="substring($str1,2)"/> |
| <xsl:variable name="str1-before" select="substring($str1,1,1)"/> |
| <xsl:if test="substring($str1,1,1)='M'"> |
| <number:month/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='d'"> |
| <number:day/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='h'"> |
| <number:hours/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='m'"> |
| <number:minutes/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="substring($str1,1,1)='s'"> |
| <number:seconds/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| </xsl:if> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="DateTimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="contains(substring($str1,1,3),'Q' )"> |
| <xsl:choose> |
| <xsl:when test="substring($str1,1,1)='Q'"> |
| <xsl:variable name="str1-before" select="substring($str1,1,2)"/> |
| <xsl:variable name="str1-after" select="substring($str1,3)"/> |
| <number:quarter/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="DateTimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="str1-before" select="substring($str1,1,5)"/> |
| <xsl:variable name="str1-after" select="substring($str1,6)"/> |
| <number:quarter number:style="long"/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="DateTimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="contains(substring(normalize-space($str1),1,3),'W' )"> |
| <xsl:variable name="str1-before" select="substring(normalize-space($str1),1,3)"/> |
| <xsl:variable name="str1-after" select="substring(normalize-space($str1),4)"/> |
| <number:day-of-week number:style="long"/> |
| <number:text> |
| <xsl:value-of select="substring($str1-after,1,1)"/> |
| </number:text> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="DateTimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="contains(substring($str1,1,3),'NN' ) and substring($str1,1,1)!='NN' "> |
| <xsl:variable name="str1-before" select="substring($str1,1,3)"/> |
| <xsl:variable name="str1-after" select="substring($str1,4)"/> |
| <number:text>第</number:text> |
| <number:week-of-year/> |
| <number:text>周</number:text> |
| <xsl:if test="string-length($str1-after)>1"> |
| <xsl:call-template name="DateTimeTransform"> |
| <xsl:with-param name="str1" select="substring($str1-after,2)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template>--> |
| <xsl:template name="DateField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <!--<xsl:variable name="date0" select="substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,'\@ ')"/> |
| <xsl:variable name="datestr"> |
| <xsl:choose> |
| <xsl:when test="contains($date0,'\*')"> |
| <xsl:value-of select="string(substring-before($date0,'\*'))"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$date0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="DateTimeTransform"> |
| <xsl:with-param name="str1" select="substring($datestr,2,string-length($datestr)-2)"/> |
| </xsl:call-template>--> |
| <xsl:variable name="datestr" select="following-sibling::字:句_419D[1]/字:文本串_415B"/> |
| <xsl:attribute name="style:data-style-name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:attribute name="text:date-value"><xsl:value-of select="$datestr"/></xsl:attribute> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="$datestr"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TimeField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <!--<xsl:variable name="date0" select="substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,'\@ ')"/> |
| <xsl:variable name="datestr" select="$date0"/> |
| <xsl:call-template name="TimeTransform"> |
| <xsl:with-param name="str1" select="substring($datestr,2,string-length($datestr)-2)"/> |
| </xsl:call-template>--> |
| <xsl:variable name="datestr" select="following-sibling::字:句_419D[1]/字:文本串_415B"/> |
| <xsl:attribute name="style:data-style-name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:if test="$datestr != ''"> |
| <xsl:attribute name="text:time-value"><xsl:value-of select="$datestr"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="$datestr"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="OutputDateField"> |
| <xsl:variable name="datestr" select="following-sibling::字:句_419D[1]/字:文本串_415B"/> |
| <xsl:element name="text:date"> |
| <xsl:attribute name="style:data-style-name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:attribute name="text:date-value"><xsl:value-of select="$datestr"/></xsl:attribute> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="$datestr"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="EditingDurationField"> |
| <xsl:variable name="datestr" select="following-sibling::字:句_419D[1]/字:文本串_415B"/> |
| <xsl:element name="text:editing-duration"> |
| <xsl:attribute name="style:data-style-name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="$datestr"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="PageNumberField"> |
| <xsl:element name="text:page-number"> |
| <xsl:for-each select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:variable name="format"> |
| <xsl:value-of select="substring-after(.,' \* ')"/> |
| </xsl:variable> |
| <xsl:variable name="fmt"> |
| <xsl:call-template name="NumFormat"> |
| <xsl:with-param name="oo_format" select="$format"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="style:num-format"><xsl:value-of select="$fmt"/></xsl:attribute> |
| <xsl:attribute name="text:select-page"><xsl:choose><xsl:when test="../../../字:页码设置_4205/@字:首页显示 = 'false'">current</xsl:when><xsl:otherwise>current</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:if test="following-sibling::node() = 'PAGE \* Arabic'"> |
| <xsl:attribute name="text:page-adjust"><xsl:value-of select="number(following-sibling::node()) - 1"/></xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="following-sibling::node()"/> |
| <xsl:value-of select="../../../following-sibling::node()"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="PageCountField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <!-- |
| <xsl:variable name="date0" select="substring-after(following-sibling::字:域代码_419F[1][@类型_416E = 'numpages']/字:段落_416B/字:句_419D/字:文本串_415B,' \* ')"/> |
| <xsl:variable name="datestr" select="substring-before(following-sibling::字:域代码_419F[1][@类型_416E = 'numpages']/字:段落_416B/字:句_419D/字:文本串_415B,'\* ')"/> |
| |
| <xsl:variable name="fmt"> |
| <xsl:call-template name="NumFormat"> |
| <xsl:with-param name="oo_format" select="substring-before($date0,' \*')"/> |
| </xsl:call-template> |
| </xsl:variable>--> |
| <xsl:variable name="fmt"> |
| <xsl:call-template name="NumFormat"> |
| <xsl:with-param name="oo_format" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:element name="text:page-count"> |
| <xsl:attribute name="style:num-format"><xsl:value-of select="$fmt"/></xsl:attribute> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="AuthorField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:variable name="datestr"> |
| <xsl:choose> |
| <xsl:when test="contains(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,'\*')"> |
| <xsl:value-of select="substring-before(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,' \* ')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$datestr='AUTHOR'"> |
| <xsl:element name="text:author-name"> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$datestr='AUTHORINITIALS'"> |
| <xsl:element name="text:author-initials"> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$datestr='MODIFICATIONAUTHOR'"> |
| <xsl:element name="text:creator"> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="$document_type != 'presentation'"> |
| <xsl:element name="text:initial-creator"> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TitleField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:variable name="date0" select="substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,' \* ')"/> |
| <xsl:variable name="datestr" select="substring-before(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,'\* ')"/> |
| <xsl:element name="text:title"> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="SubjectField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:variable name="date0" select="substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,' \* ')"/> |
| <xsl:variable name="datestr" select="substring-before(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,'\* ')"/> |
| <xsl:element name="text:subject"> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="KeywordsField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:element name="text:keywords"> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="CommentsField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:element name="text:description"> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="RevnumField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:element name="text:editing-cycles"> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="FilenameField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:element name="text:file-name"> |
| <xsl:variable name="string"> |
| <xsl:value-of select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"/> |
| </xsl:variable> |
| <xsl:attribute name="text:display"><xsl:choose><xsl:when test="contains($string,' \p')">full</xsl:when><xsl:otherwise>name-and-extension</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="EditTime"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <!--<xsl:variable name="date0" select="substring-after(following-sibling::字:域代码_419F/字:段落_416B/字:句_419D/字:文本串_415B,'\@ ')"/> |
| <xsl:variable name="datestr" select="$date0"/> |
| <xsl:call-template name="TimeTransform"> |
| <xsl:with-param name="str1" select="substring($datestr,2,string-length($datestr)-2)"/> |
| </xsl:call-template>--> |
| <xsl:variable name="datestr" select="following-sibling::字:句_419D[1]/字:文本串_415B"/> |
| <xsl:attribute name="style:data-style-name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:if test="$datestr != ''"> |
| <xsl:attribute name="text:time-value"><xsl:value-of select="$datestr"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="$datestr"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="CreationTime"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <!--<xsl:variable name="date0" select="substring-after(following-sibling::字:域代码_419F/字:段落_416B/字:句_419D/字:文本串_415B,'\@ ')"/> |
| <xsl:variable name="datestr" select="$date0"/> |
| <xsl:call-template name="TimeTransform"> |
| <xsl:with-param name="str1" select="substring($datestr,2,string-length($datestr)-2)"/> |
| </xsl:call-template>--> |
| <xsl:variable name="datestr" select="following-sibling::字:句_419D[1]/字:文本串_415B"/> |
| <xsl:attribute name="style:data-style-name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:if test="$datestr != ''"> |
| <xsl:attribute name="text:time-value"><xsl:value-of select="$datestr"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@是否锁定_416F='true'"> |
| <xsl:attribute name="text:fixed">true</xsl:attribute> |
| </xsl:if> |
| <xsl:value-of select="$datestr"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="CharCount"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <!--<xsl:variable name="date0" select="substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,' \* ')"/> |
| <xsl:variable name="datestr" select="substring-before(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,'\* ')"/> |
| <xsl:variable name="fmt"> |
| <xsl:call-template name="NumFormat"> |
| <xsl:with-param name="oo_format" select="substring-before($date0,' \#')"/> |
| </xsl:call-template> |
| </xsl:variable>--> |
| <xsl:variable name="fmt"> |
| <xsl:call-template name="NumFormat"> |
| <xsl:with-param name="oo_format" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:element name="text:character-count"> |
| <xsl:attribute name="style:num-format"><xsl:value-of select="$fmt"/></xsl:attribute> |
| <xsl:value-of select="following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="CaptionField"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B or 字:域代码_419F/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:variable name="aa" select="substring-after(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,'\f ')"/> |
| <xsl:variable name="ooow" select="substring-after($aa,'ooow:') "/> |
| <xsl:variable name="as" select="substring-before(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,' \* ')"/> |
| <xsl:variable name="ad"> |
| <xsl:value-of select="substring-after($as,'SEQ ') "/> |
| </xsl:variable> |
| <xsl:variable name="num"> |
| <xsl:value-of select="substring-after(substring-before(following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:文本串_415B,' \f'),'\* ')"/> |
| </xsl:variable> |
| <xsl:variable name="fmt"> |
| <xsl:call-template name="NumFormat"> |
| <xsl:with-param name="oo_format" select="$num"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:element name="text:sequence"> |
| <xsl:attribute name="text:name"><xsl:choose><xsl:when test="$ad='表格'">Table</xsl:when><xsl:when test="$ad='图表'">Drawing</xsl:when><xsl:otherwise><xsl:value-of select="$ad"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="text:formula"><xsl:choose><xsl:when test="contains($aa,'ooow:')"><xsl:value-of select="$ooow"/></xsl:when><xsl:when test="contains($as,'表格')"><xsl:value-of select="concat('Table','+',$fmt)"/></xsl:when><xsl:when test="contains($as,'图表')"><xsl:value-of select="concat('Drawing','+',$fmt)"/></xsl:when><xsl:otherwise><xsl:value-of select="$aa"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="style:num-format"><xsl:value-of select="$fmt"/></xsl:attribute> |
| <xsl:value-of select="following-sibling::字:句_419D[1]/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="PlaceholderField"> |
| <xsl:element name="text:placeholder"> |
| <xsl:attribute name="text:placeholder-type"><xsl:value-of select="substring-before(@类型_416E,'placeholder')"/></xsl:attribute> |
| <xsl:attribute name="text:description"><xsl:value-of select="following-sibling::字:域代码_419F/字:段落_416B/字:句_419D/字:文本串_415B"/></xsl:attribute> |
| <xsl:value-of select="following-sibling::字:句_419D[1]/字:文本串_415B"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="PageinSection"> |
| <text:section> |
| <xsl:attribute name="text:name">sect<xsl:number from="/uof:UOF_0000/字:文字处理文档_4225" level="any" count="字:域开始_419E[@类型_416E='pageinsection']"/></xsl:attribute> |
| <xsl:if test="字:域开始_419E/@是否锁定_416F='true'"> |
| <xsl:attribute name="text:protected">true</xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="following-sibling::字:域代码_419F/child::node()"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </text:section> |
| </xsl:template> |
| <xsl:template name="SectionField"> |
| <text:section> |
| <xsl:attribute name="text:name">sect<xsl:number from="/uof:UOF_0000/字:文字处理文档_4225" level="any" count="字:域开始_419E[@类型_416E='section']"/></xsl:attribute> |
| <xsl:if test="字:域开始_419E/@是否锁定_416F='true'"> |
| <xsl:attribute name="text:protected">true</xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="following-sibling::字:域代码_419F/child::node()"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </text:section> |
| </xsl:template> |
| <xsl:template name="NumFormat"> |
| <xsl:param name="oo_format"/> |
| <xsl:choose> |
| <xsl:when test="contains($oo_format,'Arabic')">1</xsl:when> |
| <xsl:when test="contains($oo_format,'ALPHABETIC')">A</xsl:when> |
| <xsl:when test="contains($oo_format,'alphabetic')">a</xsl:when> |
| <xsl:when test="contains($oo_format,'ROMAN')">I</xsl:when> |
| <xsl:when test="contains($oo_format,'roman')">i</xsl:when> |
| <xsl:when test="contains($oo_format,'CHINESENUM3')">一, 二, 三, ...</xsl:when> |
| <xsl:when test="contains($oo_format,'CHINESENUM2')">壹, 贰, 叁, ...</xsl:when> |
| <xsl:when test="contains($oo_format,'ZODIAC1')">甲, 乙, 丙, ...</xsl:when> |
| <xsl:when test="contains($oo_format,'ZODIAC2')">子, 丑, 寅, ...</xsl:when> |
| <xsl:when test="contains($oo_format,'GB1')">1, 2, 3, ...</xsl:when> |
| <xsl:when test="contains($oo_format,'GB3')">①, ②, ③, ...</xsl:when> |
| <xsl:when test="contains($oo_format,'GB4')">㈠, ㈡, ㈢, ...</xsl:when> |
| <xsl:otherwise>1</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="AdjustNumber"> |
| <xsl:param name="format"/> |
| <xsl:param name="adjustnode"/> |
| <xsl:choose> |
| <xsl:when test="$format='Arabic'"> |
| <xsl:value-of select="number($adjustnode) - 1"/> |
| </xsl:when> |
| <xsl:when test="$format='ALPHABETIC'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('A')"/> |
| </xsl:when> |
| <xsl:when test="$format='alphabetic'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('a')"/> |
| </xsl:when> |
| <xsl:when test="$format='ROMAN'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('I')"/> |
| </xsl:when> |
| <xsl:when test="$format='roman'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('i')"/> |
| </xsl:when> |
| <xsl:when test="$format='CHINESENUM3'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('一')"/> |
| </xsl:when> |
| <xsl:when test="$format='CHINESENUM2'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('壹')"/> |
| </xsl:when> |
| <xsl:when test="$format='ZODIAC1'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('甲')"/> |
| </xsl:when> |
| <xsl:when test="$format='ZODIAC2'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('子')"/> |
| </xsl:when> |
| <xsl:when test="$format='GB3'"> |
| <xsl:value-of select="string-to-codepoints($adjustnode) - string-to-codepoints('①')"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="OutputPageNumber"> |
| <xsl:for-each select="./following-sibling::字:域代码_419F[position() = 1]/字:段落_416B/字:句_419D/字:文本串_415B"> |
| <xsl:variable name="format" select="substring-after(.,' \* ')"/> |
| <xsl:variable name="fmt"> |
| <xsl:call-template name="NumFormat"> |
| <xsl:with-param name="oo_format" select="$format"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="style:num-format"><xsl:value-of select="$fmt"/></xsl:attribute> |
| <xsl:attribute name="text:select-page">current</xsl:attribute> |
| <!--在style:page-number的基础上累加产生新的首页页码--> |
| <xsl:variable name="adjustnode"> |
| <xsl:value-of select="../../../following-sibling::node()[1][name() = '字:句_419D']/字:文本串_415B"/> |
| </xsl:variable> |
| <xsl:variable name="adjust"> |
| <xsl:call-template name="AdjustNumber"> |
| <xsl:with-param name="format" select="$format"/> |
| <xsl:with-param name="adjustnode" select="$adjustnode"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="text:page-adjust"><xsl:value-of select="number($adjust)"/></xsl:attribute> |
| </xsl:for-each> |
| </xsl:template> |
| <!--xsl:template name="InMasterPage"> |
| <xsl:for-each select=".."> |
| <xsl:choose> |
| <xsl:when test="name(.) = '演:母版'"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:when test="name(.) = '演:幻灯片'"> |
| <xsl:value-of select="'false'"/> |
| </xsl:when> |
| <xsl:when test="name(.) = '演:主体'"> |
| <xsl:value-of select="'false'"/> |
| </xsl:when> |
| <xsl:when test="name(.) = 'uof:UOF_0000'"> |
| <xsl:value-of select="'false'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="InMasterPage"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template--> |
| <xsl:template match="字:域开始_419E"> |
| <xsl:choose> |
| <xsl:when test="@类型_416E='date'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:element name="text:date"> |
| <xsl:call-template name="DateField"/> |
| </xsl:element> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='createdate'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:element name="text:creation-date"> |
| <xsl:call-template name="DateField"/> |
| </xsl:element> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='modificationdate'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:element name="text:modification-date"> |
| <xsl:call-template name="DateField"/> |
| </xsl:element> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='time'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:element name="text:time"> |
| <xsl:call-template name="TimeField"/> |
| </xsl:element> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='createtime'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:element name="text:creation-time"> |
| <xsl:call-template name="TimeField"/> |
| </xsl:element> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='modificationtime'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:element name="text:modification-time"> |
| <xsl:call-template name="TimeField"/> |
| </xsl:element> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='savedate'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="OutputDateField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='edittime'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="EditTime"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='page'"> |
| <xsl:variable name="IsInMasterPage"> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:choose> |
| <xsl:when test="ancestor::图:图形_8062"> |
| <xsl:variable name="graphid" select="ancestor::图:图形_8062/@标识符_804B"/> |
| <xsl:for-each select="key('rel_graphic_name',$graphid)[1]"> |
| <xsl:choose> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'number' and ancestor::演:母版_6C0D"> |
| <!--xsl:call-template name="InMasterPage"/--> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'false'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'false'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'false'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$IsInMasterPage != 'true'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <!--兼容页码功能缺失案例--> |
| <xsl:element name="text:span"> |
| <xsl:if test="following-sibling::字:域代码_419F[1]/following-sibling::字:句_419D/字:句属性_4158/@式样引用_4117 or following-sibling::字:域代码_419F[1]/following-sibling::字:句_419D/字:句属性_4158/*"> |
| <xsl:for-each select="following-sibling::字:域代码_419F[1]/following-sibling::字:句_419D[1]"> |
| <xsl:if test="字:句属性_4158 and (字:句属性_4158/@式样引用_4117 or count(字:句属性_4158/child::*))"> |
| <xsl:variable name="textstylename"> |
| <xsl:variable name="textstyleref" select="字:句属性_4158/@式样引用_4117"/> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@标识符_4100=$textstyleref]"> |
| <xsl:value-of select="$textstyleref"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="generate-id(字:句属性_4158)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="text:style-name"><xsl:value-of select="$textstylename"/></xsl:attribute> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:variable name="SpecialString"> |
| <xsl:value-of select="following-sibling::字:域代码_419F[1]/following-sibling::字:句_419D/字:文本串_415B"/> |
| </xsl:variable> |
| <xsl:call-template name="SpecialStringBefore"> |
| <xsl:with-param name="SpecialString" select="$SpecialString"/> |
| </xsl:call-template> |
| <xsl:element name="text:page-number"> |
| <xsl:call-template name="OutputPageNumber"/> |
| </xsl:element> |
| <xsl:call-template name="SpecialStringAfter"> |
| <xsl:with-param name="SpecialString" select="$SpecialString"/> |
| </xsl:call-template> |
| </xsl:element> |
| </text:span> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="@类型_416E='numpages'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="PageCountField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='author'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="AuthorField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='username'"> |
| </xsl:when> |
| <xsl:when test="@类型_416E='userinitials'"> |
| </xsl:when> |
| <xsl:when test="@类型_416E='title'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="TitleField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='subject'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="SubjectField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='keywords'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="KeywordsField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='comments'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="CommentsField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='revnum'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="RevnumField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='filename'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="FilenameField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='SEQ'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="CaptionField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="contains(@类型_416E,'placeholder')"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="PlaceholderField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='dropdown'"> |
| </xsl:when> |
| <xsl:when test="@类型_416E='REF'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="TableOfContentsField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='INDEX'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="AlphabeticalIndexField"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='creation-time'"> |
| <text:span> |
| <xsl:attribute name="text:style-name" select="following-sibling::字:域代码_419F[1]/字:段落_416B/字:句_419D/字:句属性_4158/@式样引用_4117"/> |
| <xsl:call-template name="CreationTime"/> |
| </text:span> |
| </xsl:when> |
| <xsl:when test="@类型_416E='numchars'"> |
| <xsl:call-template name="CharCount"/> |
| </xsl:when> |
| <xsl:when test="@类型_416E='pageinsection'"> |
| <xsl:call-template name="PageinSection"/> |
| </xsl:when> |
| <xsl:when test="@类型_416E='section'"> |
| <xsl:call-template name="SectionField"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <!-- |
| <xsl:template match="字:域代码_419F"> |
| </xsl:template> |
| <xsl:template match="字:域结束"> |
| </xsl:template>--> |
| <xsl:template name="SpecialStringBefore"> |
| <xsl:param name="SpecialString"/> |
| <xsl:choose> |
| <xsl:when test="contains($SpecialString,'I。')">I。</xsl:when> |
| <xsl:when test="contains($SpecialString,'A—')">A—</xsl:when> |
| <xsl:when test="contains($SpecialString,'1-')">1-</xsl:when> |
| <xsl:when test="contains($SpecialString,'1:')">1:</xsl:when> |
| <xsl:when test="contains($SpecialString,'一-')">一-</xsl:when> |
| <xsl:when test="contains($SpecialString,'(1)')">(</xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="SpecialStringAfter"> |
| <xsl:param name="SpecialString"/> |
| <xsl:choose> |
| <xsl:when test="contains($SpecialString,'1.')">.</xsl:when> |
| <xsl:when test="contains($SpecialString,'(1)')">)</xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="TextParaToTextProperties"> |
| <xsl:param name="Stylename"/> |
| <xsl:for-each select="key('uof-paragraph-styles',$Stylename)"> |
| <xsl:if test="@基式样引用_4104"> |
| <xsl:call-template name="TextParaToTextProperties"> |
| <xsl:with-param name="Stylename" select="@基式样引用_4104"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:for-each select="./字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="SpecialHolderTextStyleContent"> |
| <xsl:for-each select="../.."> |
| <xsl:if test="name(.) = '字:段落_416B'"> |
| <xsl:variable name="stylename"> |
| <xsl:choose> |
| <xsl:when test="(count(./字:段落属性_419B/child::*) = 1) and not(./字:段落属性_419B/字:自动编号信息_4186)"> |
| <xsl:value-of select="generate-id(.)"/> |
| </xsl:when> |
| <xsl:when test="count(./字:段落属性_419B/child::*) > 1"> |
| <xsl:value-of select="generate-id(.)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="./字:段落属性_419B/@式样引用_419C"> |
| <xsl:value-of select="./字:段落属性_419B/@式样引用_419C"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="none"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$stylename != 'none'"> |
| <xsl:attribute name="style:parent-style-name"><xsl:value-of select="$stylename"/></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:for-each select=".."> |
| <xsl:if test="name(.) = '字:句_419D'"> |
| <xsl:element name="style:text-properties"> |
| <xsl:if test="../字:段落属性_419B/@式样引用_419C"> |
| <xsl:call-template name="TextParaToTextProperties"> |
| <xsl:with-param name="Stylename" select="../字:段落属性_419B/@式样引用_419C"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:if test="../字:段落属性_419B/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:if> |
| <xsl:if test="字:句属性_4158/@式样引用_417B"> |
| <xsl:call-template name="TextParentProperties"> |
| <xsl:with-param name="Stylename" select="字:句属性_4158/@式样引用_417B"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:for-each select="字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="SearchSpecialHolder"> |
| <xsl:param name="anchorname"/> |
| <xsl:choose> |
| <xsl:when test="$anchorname = 'date' and contains(.,'<日期/时间>')"> |
| <xsl:call-template name="SpecialHolderTextStyleContent"/> |
| </xsl:when> |
| <xsl:when test="$anchorname = 'header' and contains(.,'<页眉>')"> |
| <xsl:call-template name="SpecialHolderTextStyleContent"/> |
| </xsl:when> |
| <xsl:when test="$anchorname = 'footer' and contains(.,'<页脚>')"> |
| <xsl:call-template name="SpecialHolderTextStyleContent"/> |
| </xsl:when> |
| <xsl:when test="$anchorname = 'number' and contains(.,'<#>')"> |
| <xsl:call-template name="SpecialHolderTextStyleContent"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="following-sibling::*[name(.) = '字:文本串_415B'][1]"> |
| <xsl:for-each select="following-sibling::*[name(.) = '字:文本串_415B'][1]"> |
| <xsl:call-template name="SearchSpecialHolder"> |
| <xsl:with-param name="anchorname" select="$anchorname"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select=".."> |
| <xsl:choose> |
| <xsl:when test="following-sibling::*[name(.) = '字:句_419D'][1]/字:文本串_415B[1]"> |
| <xsl:for-each select="following-sibling::*[name(.) = '字:句_419D'][1]/字:文本串_415B[1]"> |
| <xsl:call-template name="SearchSpecialHolder"> |
| <xsl:with-param name="anchorname" select="$anchorname"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="SpecialHolderTextStyleContent"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="SpecialHolderTextStyle"> |
| <xsl:for-each select="/uof:UOF_0000/演:演示文稿文档_C610/演:母版集_C60C/演:母版_6C0D/uof:锚点_C644[uof:占位符_C626/@类型_C627='date' or uof:占位符_C626/@类型_C627='footer' or uof:占位符_C626/@类型_C627='header' or uof:占位符_C626/@类型_C627='number']"> |
| <xsl:variable name="anchorname" select="uof:占位符_C626/@类型_C627"/> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">paragraph</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat(generate-id(), '-special')"/></xsl:attribute> |
| <xsl:variable name="picname"> |
| <xsl:value-of select="@图形引用_C62E"/> |
| </xsl:variable> |
| <xsl:for-each select="key('graph-styles', $picname)"> |
| <xsl:for-each select="图:文本_803C/图:内容_8043/字:段落_416B/字:句_419D[1]/字:文本串_415B[1]"> |
| <xsl:call-template name="SearchSpecialHolder"> |
| <xsl:with-param name="anchorname" select="$anchorname"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="DrawTransform"> |
| <xsl:param name="angle"/> |
| <xsl:variable name="GraphicID"> |
| <xsl:value-of select="@图形引用_C62E"/> |
| </xsl:variable> |
| <xsl:variable name="x_without_rotate"> |
| <xsl:choose> |
| <xsl:when test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:value-of select="number(0)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:水平_4106/uof:绝对_4107"> |
| <xsl:value-of select="uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:水平_4106/uof:相对_4109/@值_410B"> |
| <xsl:value-of select="uof:位置_C620/uof:水平_4106/uof:相对_4109/@值_410B"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="y_without_rotate"> |
| <xsl:choose> |
| <xsl:when test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:value-of select="number(0)"/> |
| </xsl:when> |
| <!--xsl:when test="uof:位置_C620/uof:垂直_410D/@相对于_410C = 'line'"> |
| <xsl:value-of select="0 - number(uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108)"/> |
| </xsl:when--> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/uof:绝对_4107"> |
| <xsl:value-of select="uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/uof:相对_4109/@值_410B"> |
| <xsl:value-of select="uof:位置_C620/uof:垂直_410D/uof:相对_4109/@值_410B"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="x0"> |
| <xsl:variable name="box_width"> |
| <xsl:value-of select="uof:大小_C621/@宽_C605"/> |
| </xsl:variable> |
| <xsl:value-of select="number($x_without_rotate) + number(number($box_width) div 2)"/> |
| </xsl:variable> |
| <xsl:variable name="y0"> |
| <xsl:variable name="box_high"> |
| <xsl:value-of select="uof:大小_C621/@长_C604"/> |
| </xsl:variable> |
| <xsl:value-of select="number($y_without_rotate) + (number($box_high) div 2)"/> |
| </xsl:variable> |
| <xsl:variable name="arc"> |
| <xsl:value-of select="$angle * 0.0174532925"/> |
| </xsl:variable> |
| <xsl:variable name="sin_x"> |
| <xsl:call-template name="sin"> |
| <xsl:with-param name="arc"> |
| <!--xsl:value-of select="0 - $arc"/--> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="cos_x"> |
| <xsl:call-template name="cos"> |
| <xsl:with-param name="arc"> |
| <xsl:value-of select="$arc"/> |
| <!--xsl:value-of select="0 - $arc"/--> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="x"> |
| <xsl:value-of select="($x_without_rotate - $x0) * $cos_x - ($y0 - $y_without_rotate) * $sin_x + $x0"/> |
| </xsl:variable> |
| <xsl:variable name="y"> |
| <xsl:value-of select="$y0 - ($y0 - $y_without_rotate) * $cos_x - ($x_without_rotate - $x0) * $sin_x"/> |
| </xsl:variable> |
| <xsl:attribute name="draw:transform"><xsl:value-of select="concat('rotate (',$arc,') translate (', $x, $uofUnit, ' ', $y, $uofUnit, ')')"/></xsl:attribute> |
| <!--xsl:attribute name="draw:transform"><xsl:value-of select="concat('rotate (',0 - $arc,') translate (', $x, $uofUnit, ' ', $y, $uofUnit, ')')"/></xsl:attribute--> |
| </xsl:template> |
| <xsl:template name="DrawCommAttr"> |
| <xsl:param name="picstyle"/> |
| <xsl:variable name="angle"> |
| <xsl:choose> |
| <xsl:when test="$picstyle/图:预定义图形_8018/图:属性_801D/图:旋转角度_804D and not($picstyle/图:预定义图形_8018/图:属性_801D/图:旋转角度_804D='0.0')"> |
| <xsl:value-of select="$picstyle/图:预定义图形_8018/图:属性_801D/图:旋转角度_804D"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$picstyle/@层次_8063"> |
| <xsl:attribute name="draw:z-index"><xsl:value-of select="$picstyle[1]/@层次_8063"/></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="not($picstyle/图:组合位置_803B)"> |
| <xsl:if test="$angle=0"> |
| <xsl:variable name="posx"> |
| <xsl:choose> |
| <xsl:when test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:value-of select="number(0)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108"> |
| <xsl:value-of select="number(uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:水平_4106/uof:相对_4109/@值_410B"> |
| <xsl:value-of select="number(uof:位置_C620/uof:水平_4106/uof:相对_4109/@值_410B)"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="posy"> |
| <xsl:choose> |
| <xsl:when test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:value-of select="number(0)"/> |
| </xsl:when> |
| <!--xsl:when test="uof:位置_C620/uof:垂直_410D/@相对于_410C = 'line'"> |
| <xsl:value-of select="0 - number(uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108)"/> |
| </xsl:when--> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108"> |
| <xsl:value-of select="number(uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/uof:相对_4109/@值_410B"> |
| <xsl:value-of select="number(uof:位置_C620/uof:垂直_410D/uof:相对_4109/@值_410B)"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat($posx,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat($posy,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="width"> |
| <xsl:value-of select="number(uof:大小_C621/@宽_C605)"/> |
| </xsl:variable> |
| <xsl:variable name="height"> |
| <xsl:value-of select="number(uof:大小_C621/@长_C604)"/> |
| </xsl:variable> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat($width,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat($height,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="zuheweizhi-x"> |
| <xsl:value-of select="$picstyle/图:组合位置_803B/@x_C606"/> |
| </xsl:variable> |
| <xsl:variable name="zuheweizhi-y"> |
| <xsl:value-of select="$picstyle/图:组合位置_803B/@y_C607"/> |
| </xsl:variable> |
| <xsl:variable name="hex"> |
| <xsl:value-of select="concat(0+number($zuheweizhi-x),$uofUnit)"/> |
| </xsl:variable> |
| <xsl:variable name="hey"> |
| <xsl:value-of select="concat(0+number($zuheweizhi-y),$uofUnit)"/> |
| </xsl:variable> |
| <xsl:variable name="width"> |
| <xsl:value-of select="number($picstyle/图:预定义图形_8018/图:属性_801D/图:大小_8060/@宽_C605)"/> |
| </xsl:variable> |
| <xsl:variable name="height"> |
| <xsl:value-of select="number($picstyle/图:预定义图形_8018/图:属性_801D/图:大小_8060/@长_C604)"/> |
| </xsl:variable> |
| <xsl:attribute name="svg:x"><xsl:value-of select="$hex"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="$hey"/></xsl:attribute> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat($width,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat($height,$uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="$document_type = 'text'"> |
| <xsl:attribute name="text:anchor-type"><xsl:choose><xsl:when test="uof:位置_C620/@类型_C646='page'">page</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='paragraph'">paragraph</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='char'">char</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='as-char'">as-char</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='frame'">frame</xsl:when><xsl:otherwise>char</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="uof:占位符_C626/@类型_C627 != ''"> |
| <xsl:attribute name="presentation:style-name"><xsl:choose><xsl:when test="name(..)='演:母版_6C0D' and uof:占位符_C626/@类型_C627 = 'title'"><xsl:value-of select="concat(string(../@标识符_6BE8),'-title')"/></xsl:when><xsl:when test="name(..)='演:母版_6C0D' and (uof:占位符_C626/@类型_C627 = 'outline' or uof:占位符_C626/@类型_C627 = 'text')"><xsl:value-of select="concat(string(../@标识符_6BE8),'-outline1')"/></xsl:when><xsl:otherwise><xsl:value-of select="$picstyle[1]/@标识符_804B"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:variable name="placeChar"> |
| <xsl:choose> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'clipart'">graphic</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'media_clip'">graphic</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'graphics'">graphic</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'number'">page-number</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'centertitle'">title</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'date'">date-time</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'vertical_text'">outline</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'vertical_title'">title</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'vertical_subtitle'">subtitle</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'title'"> |
| <xsl:choose> |
| <xsl:when test="../uof:锚点_C644[uof:占位符_C626/@类型_C627='centertitle']">subtitle</xsl:when> |
| <xsl:otherwise>title</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'text'"> |
| <xsl:choose> |
| <xsl:when test="parent::演:幻灯片_6C0F or parent::演:母版_6C0D">outline</xsl:when> |
| <xsl:otherwise>subtitle</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="uof:占位符_C626/@类型_C627"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="presentation:class"><xsl:value-of select="$placeChar"/></xsl:attribute> |
| <xsl:if test="(name(..) = '演:母版_6C0D') and (($placeChar = 'header') or ($placeChar = 'footer') or ($placeChar = 'date-time') or ($placeChar = 'page-number'))"> |
| <xsl:attribute name="draw:text-style-name" select="concat(generate-id(), '-special')"/> |
| </xsl:if> |
| <!-- |
| <xsl:if test="not((name(..) = '演:母版') and (uof:占位符_C626 = 'title'))"> |
| <xsl:attribute name="presentation:user-transformed" select="'true'"/> |
| </xsl:if> |
| --> |
| <xsl:choose> |
| <xsl:when test="not((name(..) = '演:母版_6C0D') and (uof:占位符_C626/@类型_C627 = 'title'))"> |
| <xsl:attribute name="presentation:user-transformed" select="'false'"/> |
| </xsl:when> |
| <xsl:when test="(name(..) = '演:母版_6C0D') and (uof:占位符_C626/@类型_C627 = 'title')"> |
| <!--xsl:if test="following-sibling::node()[@uof:占位符 = 'text']"> |
| <xsl:variable name="IsEmptyText"> |
| <xsl:for-each select="following-sibling::node()[(uof:占位符_C626 = 'text')]"> |
| <xsl:variable name="picname"> |
| <xsl:value-of select="@uof:图形引用"/> |
| </xsl:variable> |
| <xsl:variable name="picstyle" select="key('graph-styles', $picname)"/> |
| <xsl:for-each select="$picstyle/图:文本内容/字:段落_416B[1]"> |
| <xsl:variable name="nCount1" select="count(字:域开始)"/> |
| <xsl:variable name="nCount2" select="count(字:域代码)"/> |
| <xsl:variable name="nCount3" select="count(字:域结束)"/> |
| <xsl:variable name="nCount4" select="count(字:修订开始)"/> |
| <xsl:variable name="nCount5" select="count(字:修订结束)"/> |
| <xsl:if test="($nCount1 = 0) and ($nCount2 = 0) and ($nCount3 = 0) and ($nCount4 = 0) and ($nCount5 = 0)"> |
| <xsl:choose> |
| <xsl:when test="count(字:句_419D) = 0"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-hsr ??在变量定义中应用模板是无效的吧??-> |
| <xsl:apply-templates select="字:句_419D[1]" mode="IsEmpty"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:if test="$IsEmptyText != 'true'"> |
| <xsl:attribute name="presentation:user-transformed" select="'true'"/> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="following-sibling::node()[uof:占位符_C626 = 'outline']"> |
| <xsl:variable name="IsEmptyOutline"> |
| <xsl:for-each select="following-sibling::node()[(uof:占位符_C626 = 'outline')]"> |
| <xsl:variable name="picname"> |
| <xsl:value-of select="@uof:图形引用"/> |
| </xsl:variable> |
| <xsl:variable name="picstyle" select="key('graph-styles', $picname)"/> |
| <xsl:for-each select="$picstyle/图:文本内容"> |
| <xsl:variable name="nCount1" select="count(字:段落_416B[1]/字:域开始)"/> |
| <xsl:variable name="nCount2" select="count(字:段落_416B[1]/字:域代码)"/> |
| <xsl:variable name="nCount3" select="count(字:段落_416B[1]/字:域结束)"/> |
| <xsl:variable name="nCount4" select="count(字:段落_416B[1]/字:修订开始)"/> |
| <xsl:variable name="nCount5" select="count(字:段落_416B[1]/字:修订结束)"/> |
| <xsl:choose> |
| <xsl:when test="($nCount1 = 0) and ($nCount2 = 0) and ($nCount3 = 0) and ($nCount4 = 0) and ($nCount5 = 0) and count(字:段落_416B/字:句_419D) = 0"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:apply-templates select="字:段落/字:句[1]" mode="IsEmpty"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:if test="$IsEmptyOutline != 'true'"> |
| <xsl:attribute name="presentation:user-transformed" select="'true'"/> |
| </xsl:if> |
| </xsl:if--> |
| <xsl:for-each select="following-sibling::*"> |
| <xsl:if test="uof:占位符_C626/@类型_C627 = 'text' or uof:占位符_C626/@类型_C627 = 'outline'"> |
| <xsl:variable name="picname"> |
| <xsl:value-of select="@图形引用_C62E"/> |
| </xsl:variable> |
| <xsl:variable name="picstyle" select="key('graph-styles', $picname)"/> |
| <xsl:for-each select="$picstyle/图:文本_803C/图:内容_8043"> |
| <xsl:variable name="nCount1" select="count(字:段落_416B[1]/字:域开始_419E)"/> |
| <xsl:variable name="nCount2" select="count(字:段落_416B[1]/字:域代码_419F)"/> |
| <xsl:variable name="nCount3" select="count(字:段落_416B[1]/字:域结束_41A0)"/> |
| <xsl:variable name="nCount4" select="count(字:段落_416B[1]/字:修订开始_421F)"/> |
| <xsl:variable name="nCount5" select="count(字:段落_416B[1]/字:修订结束_4223)"/> |
| <xsl:if test="not(($nCount1 = 0) and ($nCount2 = 0) and ($nCount3 = 0) and ($nCount4 = 0) and ($nCount5 = 0) and count(字:段落_416B/字:句_419D) = 0)"> |
| <xsl:attribute name="presentation:user-transformed" select="'false'"/> |
| <xsl:apply-templates select="字:段落_416B/字:句_419D[1]" mode="IsEmpty"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="name(..) = '演:幻灯片_6C0F'and not(uof:占位符_C626/@类型_C627 = 'chart' or uof:占位符_C626/@类型_C627 = 'clipart' or uof:占位符_C626/@类型_C627 = 'media_clip' or uof:占位符_C626/@类型_C627= 'graphics') "> |
| <xsl:attribute name="presentation:placeholder" select="'true'"/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="$picstyle/@标识符_804B"> |
| <xsl:attribute name="draw:style-name"><xsl:value-of select="$picstyle[1]/@标识符_804B"/></xsl:attribute> |
| <xsl:attribute name="draw:id"><xsl:value-of select="$picstyle[1]/@标识符_804B"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$picstyle/@标识符_804B"> |
| <xsl:attribute name="draw:style-name"><xsl:value-of select="$picstyle[1]/@标识符_804B"/></xsl:attribute> |
| <xsl:attribute name="draw:id"><xsl:value-of select="$picstyle[1]/@标识符_804B"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="not($angle=0)"> |
| <xsl:call-template name="DrawTransform"> |
| <xsl:with-param name="angle" select="$picstyle/图:预定义图形_8018/图:属性_801D/图:旋转角度_804D"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:variable name="tuxing"> |
| <xsl:value-of select="@图形引用_C62E"/> |
| </xsl:variable> |
| <xsl:if test="../演:动画_6B1A/演:序列_6B1B[@对象引用_6C28 = $tuxing]"> |
| |
| <xsl:attribute name="draw:id"><xsl:value-of select="$tuxing"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="DrawCommElementWeb"> |
| <xsl:param name="picstyle"/> |
| <xsl:if test="$picstyle/图:预定义图形_8018/图:属性_801D/图:Web文字_804F"> |
| <xsl:element name="svg:title"> |
| <xsl:value-of select="$picstyle/图:预定义图形_8018/图:属性_801D/图:Web文字_804F"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="DrawCommElementText"> |
| <xsl:param name="picstyle"/> |
| <xsl:if test="$picstyle/图:文本_803C/图:内容_8043"> |
| <!-- whether empty title of marster --> |
| <xsl:variable name="IsEmptyTitle"> |
| <xsl:if test="(name(..) = '演:母版_6C0D') and (uof:占位符_C626/@类型_C627 = 'title')"> |
| <xsl:for-each select="$picstyle/图:文本_803C/图:内容_8043"> |
| <xsl:variable name="nCount1" select="count(字:段落_416B[1]/字:域开始_419E)"/> |
| <xsl:variable name="nCount2" select="count(字:段落_416B[1]/字:域代码_419F)"/> |
| <xsl:variable name="nCount3" select="count(字:段落_416B[1]/字:域结束_41A0)"/> |
| <xsl:variable name="nCount4" select="count(字:段落_416B[1]/字:修订开始_421F)"/> |
| <xsl:variable name="nCount5" select="count(字:段落_416B[1]/字:修订结束_4223)"/> |
| <!--xsl:choose> |
| <xsl:when test="count(字:段落[1]/字:句)!=0 and ($nCount1 = 0) and ($nCount2 = 0) and ($nCount3 = 0) and ($nCount4 = 0) and ($nCount5 = 0)"> |
| <xsl:apply-templates select="字:段落[1]/字:句[1]" mode="IsEmpty"/> |
| </xsl:when> |
| <xsl:otherwise>true</xsl:otherwise> |
| </xsl:choose--> |
| <xsl:if test="not(count(字:段落_416B[1]/字:句_419D)!=0 and ($nCount1 = 0) and ($nCount2 = 0) and ($nCount3 = 0) and ($nCount4 = 0) and ($nCount5 = 0))">true</xsl:if> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:choose> |
| <!-- give a prompt message for marster's empty title --> |
| <xsl:when test="$IsEmptyTitle = 'true'"> |
| <text:p>单击鼠标编辑标题文的格式</text:p> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="$picstyle/图:文本_803C/图:内容_8043/*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:段落_416B'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:文字表_416C'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="DrawCommElement"> |
| <xsl:param name="picstyle"/> |
| <xsl:call-template name="DrawCommElementWeb"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:call-template name="DrawCommElementText"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="DrawCommContent"> |
| <xsl:param name="picstyle"/> |
| <xsl:call-template name="DrawCommAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:call-template name="DrawCommElement"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="DrawPoints"> |
| <xsl:param name="points"/> |
| <xsl:param name="value"/> |
| <xsl:if test="$points"> |
| <xsl:variable name="frist-piont"> |
| <xsl:value-of select="substring-before($points,'lineto')"/> |
| </xsl:variable> |
| <xsl:variable name="other-points"> |
| <xsl:value-of select="substring-after($points,'lineto')"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="contains($other-points,'lineto')"> |
| <xsl:variable name="x-coor"> |
| <xsl:value-of select="number(substring-before($frist-piont,' ')) * 1000"/> |
| </xsl:variable> |
| <xsl:variable name="y-coor"> |
| <xsl:value-of select="number(substring-after($frist-piont,' ')) * 1000"/> |
| </xsl:variable> |
| <xsl:call-template name="DrawPoints"> |
| <xsl:with-param name="points" select="$other-points"/> |
| <xsl:with-param name="value" select="concat($value,$x-coor,',',$y-coor,' ')"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="q-x-coor"> |
| <xsl:value-of select="number(substring-before($frist-piont,' ')) * 1000"/> |
| </xsl:variable> |
| <xsl:variable name="q-y-coor"> |
| <xsl:value-of select="number(substring-after($frist-piont,' ')) * 1000"/> |
| </xsl:variable> |
| <xsl:variable name="e-x-coor"> |
| <xsl:value-of select="number(substring-before($other-points,' ')) * 1000"/> |
| </xsl:variable> |
| <xsl:variable name="e-y-coor"> |
| <xsl:value-of select="number(substring-after($other-points,' ')) * 1000"/> |
| </xsl:variable> |
| <xsl:value-of select="concat($value,$q-x-coor,',',$q-y-coor,' ',$e-x-coor,',',$e-y-coor)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="DrawPathContent"> |
| <xsl:param name="picstyle"/> |
| <xsl:call-template name="DrawCommAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:variable name="width" select="number($picstyle/图:预定义图形_8018/图:属性_801D/图:大小_8060/@宽_C605)*1000"/> |
| <xsl:variable name="height" select="number($picstyle/图:预定义图形_8018/图:属性_801D/图:大小_8060/@长_C604)*1000"/> |
| <xsl:attribute name="svg:viewBox"><xsl:value-of select="concat('0 0 ',$width, ' ',$height)"/></xsl:attribute> |
| <xsl:attribute name="draw:points"><xsl:call-template name="DrawPoints"><xsl:with-param name="points" select="$picstyle/图:预定义图形_8018/图:路径_801C"/><xsl:with-param name="value"/></xsl:call-template></xsl:attribute> |
| <xsl:call-template name="DrawCommElement"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="DrawSpecialGeometry"> |
| <xsl:param name="GraphicID"/> |
| <xsl:choose> |
| <xsl:when test="$GraphicID='122'"> |
| <xsl:attribute name="svg:viewBox">0 0 640 861</xsl:attribute> |
| <xsl:attribute name="draw:text-areas">257 295 414 566</xsl:attribute> |
| <xsl:attribute name="draw:type">non-primitive</xsl:attribute> |
| <xsl:attribute name="draw:enhanced-path">M 640 233 L 221 293 506 12 367 0 29 406 431 347 145 645 99 520 0 861 326 765 209 711 640 233 640 233 Z N</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$GraphicID='217'"> |
| <xsl:attribute name="draw:text-areas">4000 ?f1 ?f5 ?f2</xsl:attribute> |
| <xsl:attribute name="draw:glue-points">0 10800 21600 10800 ?f0 0 ?f0 21600</xsl:attribute> |
| <xsl:attribute name="draw:type">mso-spt100</xsl:attribute> |
| <xsl:attribute name="draw:modifiers">13200 6400 0</xsl:attribute> |
| <xsl:attribute name="draw:enhanced-path">M ?f0 0 L 21600 10800 ?f0 21800 ?f0 ?f2 4000 ?f2 4000 ?f1 ?f0 ?f1 ?f0 0 M 0 ?f1 L 0 ?f2 1000 ?f2 1000 ?f1 0 ?f1 M 2000 ?f1 L 2000 ?f2 3000 ?f2 3000 ?f1 2000 ?f1 Z N</xsl:attribute> |
| <draw:equation draw:name="f0" draw:formula="$0 "/> |
| <draw:equation draw:name="f1" draw:formula="$1 "/> |
| <draw:equation draw:name="f2" draw:formula="bottom-$1 "/> |
| <draw:equation draw:name="f3" draw:formula="right-$0 "/> |
| <draw:equation draw:name="f4" draw:formula="?f3 *$1 /10800"/> |
| <draw:equation draw:name="f5" draw:formula="$0 +?f4 "/> |
| <draw:handle draw:handle-position="$0 $1" draw:handle-range-x-minimum="4000" draw:handle-range-x-maximum="21600" draw:handle-range-y-minimum="0" draw:handle-range-y-maximum="10800"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="DrawCustomContent"> |
| <xsl:param name="picstyle"/> |
| <xsl:param name="graphtype"/> |
| <xsl:variable name="customtype"> |
| <xsl:call-template name="CustomShapeType"> |
| <xsl:with-param name="GraphicID" select="$graphtype[1]"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="graphicreferences"> |
| <xsl:value-of select="@图形引用_C62E"/> |
| </xsl:variable> |
| <xsl:call-template name="DrawCommAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <draw:enhanced-geometry> |
| <xsl:choose> |
| <xsl:when test="$picstyle/图:翻转_803A = 'y'"> |
| <xsl:attribute name="draw:mirror-vertical">true</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:翻转_803A = 'x'"> |
| <xsl:attribute name="draw:mirror-horizontal">true</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:翻转_803A = 'xy'"> |
| <xsl:attribute name="draw:mirror-horizontal">true</xsl:attribute> |
| <xsl:attribute name="draw:mirror-vertical">true</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="$picstyle/图:控制点_8039/@x_C606 != ' ' or $picstyle/图:控制点_8039/@y_C607 != ' '"> |
| <xsl:variable name="modifiers-x"> |
| <xsl:value-of select="$picstyle/图:控制点_8039/@x_C606"/> |
| </xsl:variable> |
| <xsl:variable name="modifiers-y"> |
| <xsl:value-of select="$picstyle/图:控制点_8039/@y_C607"/> |
| </xsl:variable> |
| <xsl:attribute name="draw:modifiers"><xsl:value-of select="concat($modifiers-x,' ',$modifiers-y)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="$customtype!=''"> |
| <xsl:attribute name="draw:type"><xsl:value-of select="$customtype"/></xsl:attribute> |
| <xsl:call-template name="DrawSpecialGeometry"> |
| <xsl:with-param name="GraphicID" select="$graphtype"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="key('graphicsextension',$graphicreferences)"> |
| <xsl:for-each select="key('graphicsextension',$graphicreferences)/扩展:扩展内容_B204/扩展:内容_B206/扩展:预定义图形数据"> |
| <xsl:copy-of select="@*|node()"/> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose> |
| </draw:enhanced-geometry> |
| <xsl:call-template name="DrawCommElement"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="DrawLineAttr"> |
| <xsl:param name="picstyle"/> |
| <xsl:param name="isconnector"/> |
| <xsl:variable name="angle"> |
| <xsl:choose> |
| <xsl:when test="$picstyle/图:预定义图形_8018/图:属性_801D/图:旋转角度_804D and not($picstyle/图:预定义图形_8018/图:属性_801D/图:旋转角度_804D='0.0')"> |
| <xsl:value-of select="$picstyle/图:预定义图形_8018/图:属性_801D/图:旋转角度_804D"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="0"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="not($picstyle/图:组合位置_803B)"> |
| <xsl:variable name="posx"> |
| <xsl:choose> |
| <xsl:when test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:value-of select="number(0)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108"> |
| <xsl:value-of select="number(uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:水平_4106/uof:相对_4109"> |
| <xsl:value-of select="number(uof:位置_C620/uof:水平_4106/uof:相对_4109/@值_410B)"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="posy"> |
| <xsl:choose> |
| <xsl:when test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:value-of select="number(0)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/@相对于_410C = 'line'"> |
| <xsl:value-of select="0 - number(uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108"> |
| <xsl:value-of select="number(uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/uof:相对_4109"> |
| <xsl:value-of select="number(字:位置_C620/uof:垂直_410D/uof:相对_4109/@值_410B)"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="width" select="number(uof:大小_C621/@宽_C605)"/> |
| <xsl:variable name="height" select="number(uof:大小_C621/@长_C604)"/> |
| <xsl:choose> |
| <xsl:when test="$picstyle/图:翻转_803A = 'x'"> |
| <xsl:variable name="x1" select="number($posx) + number($width)"/> |
| <xsl:variable name="y1" select="number($posy)"/> |
| <xsl:variable name="x2" select="$posx"/> |
| <xsl:variable name="y2" select="number($posy) + number($height)"/> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="concat($x1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="concat($y1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat($x2,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat($y2,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:翻转_803A = 'y'"> |
| <xsl:variable name="x1" select="number($posx)"/> |
| <xsl:variable name="y1" select="number($posy) + number($height)"/> |
| <xsl:variable name="x2" select="number($posx) + number($width)"/> |
| <xsl:variable name="y2" select="$posy"/> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="concat(string($x1),$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="concat(string($y1),$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat(string($x2),$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat(string($y2),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:翻转_803A = 'xy'"> |
| <xsl:variable name="x1" select="$posx + $width"/> |
| <xsl:variable name="y1" select="$posy + $height"/> |
| <xsl:variable name="x2" select="$posx"/> |
| <xsl:variable name="y2" select="$posy"/> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="concat($x1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="concat($y1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat($x2,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat($y2,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="x1" select="$posx"/> |
| <xsl:variable name="y1" select="$posy"/> |
| <xsl:variable name="x2" select="number($posx) + number($width)"/> |
| <xsl:variable name="y2" select="number($posy) + number($height)"/> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="concat($x1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="concat($y1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat($x2,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat($y2,$uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="posx" select="number($picstyle/图:组合位置_803B/@x_C606)"/> |
| <xsl:variable name="posy" select="number($picstyle/图:组合位置_803B/@y_C607)"/> |
| <xsl:variable name="width" select="number($picstyle/图:预定义图形_8018/图:属性_801D/图:大小_8060/@宽_C605)"/> |
| <xsl:variable name="height" select="number($picstyle/图:预定义图形_8018/图:属性_801D/图:大小_8060/@长_C604)"/> |
| <xsl:choose> |
| <xsl:when test="$picstyle/图:翻转_803A = 'x'"> |
| <xsl:variable name="x1" select="$posx + $width"/> |
| <xsl:variable name="y1" select="$posy"/> |
| <xsl:variable name="x2" select="$posx"/> |
| <xsl:variable name="y2" select="$posy + $height"/> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="concat($x1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="concat($y1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat($x2,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat($y2,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:翻转_803A = 'y'"> |
| <xsl:variable name="x1" select="$posx"/> |
| <xsl:variable name="y1" select="$posy + $height"/> |
| <xsl:variable name="x2" select="$posx + $width"/> |
| <xsl:variable name="y2" select="$posy"/> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="concat($x1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="concat($y1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat($x2,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat($y2,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:翻转_803A = 'xy'"> |
| <xsl:variable name="x1" select="$posx + $width"/> |
| <xsl:variable name="y1" select="$posy + $height"/> |
| <xsl:variable name="x2" select="$posx"/> |
| <xsl:variable name="y2" select="$posy"/> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="concat($x1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="concat($y1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat($x2,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat($y2,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="x1" select="$posx"/> |
| <xsl:variable name="y1" select="$posy"/> |
| <xsl:variable name="x2" select="$posx + $width"/> |
| <xsl:variable name="y2" select="$posy + $height"/> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="concat($x1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="concat($y1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat($x2,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat($y2,$uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!--<xsl:variable name="zuheweizhi-x"> |
| <xsl:value-of select="$picstyle/图:组合位置/@图:x坐标"/> |
| </xsl:variable> |
| <xsl:variable name="zuheweizhi-y"> |
| <xsl:value-of select="$picstyle/图:组合位置/@图:y坐标"/> |
| </xsl:variable> |
| <xsl:variable name="hex"> |
| <xsl:value-of select="concat(0+number($zuheweizhi-x),$uofUnit)"/> |
| </xsl:variable> |
| <xsl:variable name="hey"> |
| <xsl:value-of select="concat(0+number($zuheweizhi-y),$uofUnit)"/> |
| </xsl:variable> |
| <xsl:attribute name="svg:x1"><xsl:value-of select="$hex"/></xsl:attribute> |
| <xsl:attribute name="svg:y1"><xsl:value-of select="$hey"/></xsl:attribute> |
| <xsl:attribute name="svg:x2"><xsl:value-of select="concat((number($zuheweizhi-x) + number($picstyle/图:预定义图形/图:属性/图:宽度)),$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y2"><xsl:value-of select="concat((number($zuheweizhi-y) + number($picstyle/图:预定义图形/图:属性/图:高度)),$uofUnit)"/></xsl:attribute>--> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:attribute name="text:anchor-type"><xsl:choose><xsl:when test="uof:位置_C620/@类型_C646='page'">page</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='paragraph'">paragraph</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='char'">char</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='as-char'">as-char</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='frame'">frame</xsl:when><xsl:otherwise>char</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="draw:style-name"><xsl:value-of select="$picstyle[1]/@标识符_804B"/></xsl:attribute> |
| <xsl:attribute name="draw:id"><xsl:value-of select="$picstyle[1]/@标识符_804B"/></xsl:attribute> |
| <xsl:if test="$picstyle/@层次_8063"> |
| <xsl:attribute name="draw:z-index"><xsl:value-of select="$picstyle[1]/@层次_8063"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="not($angle=0)"> |
| <xsl:call-template name="DrawTransform"> |
| <xsl:with-param name="angle" select="$picstyle/图:预定义图形_8018/图:属性_801D/图:旋转角度_804D"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:if test="$isconnector='true'"> |
| <xsl:attribute name="draw:start-shape"><xsl:value-of select="$picstyle//图:预定义图形_8018/图:连接线规则_8027/@始端对象引用_8029"/></xsl:attribute> |
| <xsl:attribute name="draw:end-shape"><xsl:value-of select="$picstyle//图:预定义图形_8018/图:连接线规则_8027/@终端对象引用_802A"/></xsl:attribute> |
| <xsl:attribute name="draw:start-glue-point"><xsl:value-of select="$picstyle//图:预定义图形_8018/图:连接线规则_8027/@始端对象连接点索引_802B"/></xsl:attribute> |
| <xsl:attribute name="draw:end-glue-point"><xsl:value-of select="$picstyle//图:预定义图形_8018/图:连接线规则_8027/@终端对象连接点索引_802C"/></xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <!--xsl:template name="DrawRect"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:rect"> |
| <xsl:call-template name="DrawCommContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template--> |
| <xsl:template name="DrawCaption"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:caption"> |
| <xsl:call-template name="DrawCommContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="DrawLine"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:line"> |
| <xsl:call-template name="DrawLineAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:call-template name="DrawCommElement"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="DrawConnector"> |
| <xsl:param name="picstyle"/> |
| <xsl:variable name="isconnector" select="string('true')"/> |
| <xsl:variable name="graphtype"> |
| <xsl:value-of select="$picstyle/图:预定义图形_8018/图:类别_8019"/> |
| </xsl:variable> |
| <xsl:element name="draw:connector"> |
| <xsl:call-template name="DrawLineAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| <xsl:with-param name="isconnector" select="$isconnector"/> |
| </xsl:call-template> |
| <xsl:choose> |
| <xsl:when test="$graphtype='71' or $graphtype='72' or $graphtype='73'"> |
| <xsl:attribute name="draw:type">line</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$graphtype='77' or $graphtype='78' or $graphtype='79'"> |
| <xsl:attribute name="draw:type">curve</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="$picstyle/图:预定义图形_8018/图:路径_801C/图:路径值_8069"> |
| <xsl:variable name="width" select="number($picstyle/图:预定义图形_8018/图:属性_801D/图:大小_8060/@宽_C605)"/> |
| <xsl:variable name="height" select="number($picstyle/图:预定义图形_8018/图:属性_801D/图:大小_8060/@长_C604)"/> |
| <xsl:attribute name="svg:viewBox"><xsl:value-of select="concat('0 0 ',$width, ' ',$height)"/></xsl:attribute> |
| <xsl:attribute name="draw:points"><xsl:value-of select="$picstyle/图:预定义图形_8018/图:路径_801C/图:路径值_8069"/></xsl:attribute> |
| </xsl:if> |
| <xsl:call-template name="DrawCommElement"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="DrawPolyline"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:polyline"> |
| <xsl:call-template name="DrawPathContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="DrawPolygon"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:polygon"> |
| <xsl:call-template name="DrawPathContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <!--xsl:template name="DrawEllipse"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:ellipse"> |
| <xsl:call-template name="DrawCommContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template--> |
| <xsl:template name="CustomShapeType"> |
| <xsl:param name="GraphicID"/> |
| <xsl:choose> |
| <xsl:when test="$GraphicID='11'">rectangle</xsl:when> |
| <xsl:when test="$GraphicID='12'">parallelogram</xsl:when> |
| <xsl:when test="$GraphicID='13'">trapezoid</xsl:when> |
| <xsl:when test="$GraphicID='14'">diamond</xsl:when> |
| <xsl:when test="$GraphicID='15'">round-rectangle</xsl:when> |
| <xsl:when test="$GraphicID='16'">octagon</xsl:when> |
| <xsl:when test="$GraphicID='17'">isosceles-triangle</xsl:when> |
| <xsl:when test="$GraphicID='18'">right-triangle</xsl:when> |
| <xsl:when test="$GraphicID='19'">ellipse</xsl:when> |
| <xsl:when test="$GraphicID='21'">right-arrow</xsl:when> |
| <xsl:when test="$GraphicID='22'">left-arrow</xsl:when> |
| <xsl:when test="$GraphicID='23'">up-arrow</xsl:when> |
| <xsl:when test="$GraphicID='24'">down-arrow</xsl:when> |
| <xsl:when test="$GraphicID='25'">left-right-arrow</xsl:when> |
| <xsl:when test="$GraphicID='26'">up-down-arrow</xsl:when> |
| <xsl:when test="$GraphicID='27'">quad-arrow</xsl:when> |
| <xsl:when test="$GraphicID='28'">mso-spt182</xsl:when> |
| <xsl:when test="$GraphicID='31'">flowchart-process</xsl:when> |
| <xsl:when test="$GraphicID='33'">flowchart-decision</xsl:when> |
| <xsl:when test="$GraphicID='34'">flowchart-data</xsl:when> |
| <xsl:when test="$GraphicID='35'">flowchart-predefined-process</xsl:when> |
| <xsl:when test="$GraphicID='36'">flowchart-internal-storage</xsl:when> |
| <xsl:when test="$GraphicID='37'">flowchart-document</xsl:when> |
| <xsl:when test="$GraphicID='38'">flowchart-multidocument</xsl:when> |
| <xsl:when test="$GraphicID='39'">flowchart-terminator</xsl:when> |
| <xsl:when test="$GraphicID='41'">mso-spt71</xsl:when> |
| <xsl:when test="$GraphicID='42'">bang</xsl:when> |
| <xsl:when test="$GraphicID='43'">star4</xsl:when> |
| <xsl:when test="$GraphicID='44'">star5</xsl:when> |
| <xsl:when test="$GraphicID='45'">star8</xsl:when> |
| <xsl:when test="$GraphicID='46'">mso-spt59</xsl:when> |
| <xsl:when test="$GraphicID='47'">star24</xsl:when> |
| <xsl:when test="$GraphicID='48'">mso-spt60</xsl:when> |
| <xsl:when test="$GraphicID='49'">mso-spt54</xsl:when> |
| <xsl:when test="$GraphicID='51'">rectangular-callout</xsl:when> |
| <xsl:when test="$GraphicID='52'">round-rectangular-callout</xsl:when> |
| <xsl:when test="$GraphicID='53'">round-callout</xsl:when> |
| <xsl:when test="$GraphicID='54'">cloud-callout</xsl:when> |
| <xsl:when test="$GraphicID='55'">line-callout-1</xsl:when> |
| <xsl:when test="$GraphicID='56'">line-callout-2</xsl:when> |
| <xsl:when test="$GraphicID='57'">line-callout-3</xsl:when> |
| <xsl:when test="$GraphicID='110'">hexagon</xsl:when> |
| <xsl:when test="$GraphicID='111'">cross</xsl:when> |
| <xsl:when test="$GraphicID='112'">pentagon</xsl:when> |
| <xsl:when test="$GraphicID='113'">can</xsl:when> |
| <xsl:when test="$GraphicID='114'">cube</xsl:when> |
| <xsl:when test="$GraphicID='115'">quad-bevel</xsl:when> |
| <xsl:when test="$GraphicID='116'">paper</xsl:when> |
| <xsl:when test="$GraphicID='117'">smiley</xsl:when> |
| <xsl:when test="$GraphicID='118'">ring</xsl:when> |
| <xsl:when test="$GraphicID='119'">forbidden</xsl:when> |
| <xsl:when test="$GraphicID='120'">block-arc</xsl:when> |
| <xsl:when test="$GraphicID='121'">heart</xsl:when> |
| <xsl:when test="$GraphicID='122'">non-primitive</xsl:when> |
| <xsl:when test="$GraphicID='123'">sun</xsl:when> |
| <xsl:when test="$GraphicID='124'">moon</xsl:when> |
| <xsl:when test="$GraphicID='126'">bracket-pair</xsl:when> |
| <xsl:when test="$GraphicID='127'">brace-pair</xsl:when> |
| <xsl:when test="$GraphicID='128'">mso-spt21</xsl:when> |
| <xsl:when test="$GraphicID='129'">left-bracket</xsl:when> |
| <xsl:when test="$GraphicID='130'">right-bracket</xsl:when> |
| <xsl:when test="$GraphicID='131'">left-brace</xsl:when> |
| <xsl:when test="$GraphicID='132'">right-brace</xsl:when> |
| <xsl:when test="$GraphicID='211'">mso-spt89</xsl:when> |
| <xsl:when test="$GraphicID='212'">non-primitive</xsl:when> |
| <xsl:when test="$GraphicID='214'">circular-arrow</xsl:when> |
| <xsl:when test="$GraphicID='216'">circular-arrow</xsl:when> |
| <xsl:when test="$GraphicID='217'">mso-spt100</xsl:when> |
| <xsl:when test="$GraphicID='218'">notched-right-arrow</xsl:when> |
| <xsl:when test="$GraphicID='219'">pentagon-right</xsl:when> |
| <xsl:when test="$GraphicID='220'">chevron</xsl:when> |
| <xsl:when test="$GraphicID='221'">right-arrow-callout</xsl:when> |
| <xsl:when test="$GraphicID='222'">left-arrow-callout</xsl:when> |
| <xsl:when test="$GraphicID='223'">up-arrow-callout</xsl:when> |
| <xsl:when test="$GraphicID='224'">down-arrow-callout</xsl:when> |
| <xsl:when test="$GraphicID='225'">left-right-arrow-callout</xsl:when> |
| <xsl:when test="$GraphicID='226'">up-down-arrow-callout</xsl:when> |
| <xsl:when test="$GraphicID='227'">quad-arrow-callout</xsl:when> |
| <xsl:when test="$GraphicID='228'">circular-arrow</xsl:when> |
| <xsl:when test="$GraphicID='310'">flowchart-preparation</xsl:when> |
| <xsl:when test="$GraphicID='311'">flowchart-manual-input</xsl:when> |
| <xsl:when test="$GraphicID='312'">flowchart-manual-operation</xsl:when> |
| <xsl:when test="$GraphicID='313'">flowchart-connector</xsl:when> |
| <xsl:when test="$GraphicID='314'">flowchart-off-page-connector</xsl:when> |
| <xsl:when test="$GraphicID='315'">flowchart-card</xsl:when> |
| <xsl:when test="$GraphicID='316'">flowchart-punched-tape</xsl:when> |
| <xsl:when test="$GraphicID='317'">flowchart-summing-junction</xsl:when> |
| <xsl:when test="$GraphicID='318'">flowchart-or</xsl:when> |
| <xsl:when test="$GraphicID='319'">flowchart-collate</xsl:when> |
| <xsl:when test="$GraphicID='320'">flowchart-sort</xsl:when> |
| <xsl:when test="$GraphicID='321'">flowchart-extract</xsl:when> |
| <xsl:when test="$GraphicID='322'">flowchart-merge</xsl:when> |
| <xsl:when test="$GraphicID='323'">flowchart-stored-data</xsl:when> |
| <xsl:when test="$GraphicID='324'">flowchart-delay</xsl:when> |
| <xsl:when test="$GraphicID='325'">flowchart-sequential-access</xsl:when> |
| <xsl:when test="$GraphicID='326'">flowchart-magnetic-disk</xsl:when> |
| <xsl:when test="$GraphicID='327'">flowchart-direct-access-storage</xsl:when> |
| <xsl:when test="$GraphicID='328'">flowchart-display</xsl:when> |
| <xsl:when test="$GraphicID='413'">vertical-scroll</xsl:when> |
| <xsl:when test="$GraphicID='414'">horizontal-scroll</xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="DrawCustomshape"> |
| <xsl:param name="picstyle"/> |
| <xsl:param name="graphtype"/> |
| <xsl:element name="draw:custom-shape"> |
| <xsl:call-template name="DrawCustomContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| <xsl:with-param name="graphtype" select="$graphtype"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="FrmContent"> |
| <xsl:param name="refobject"/> |
| <xsl:variable name="frmobject"> |
| <xsl:choose> |
| <xsl:when test="$refobject/@公共类型_D706"> |
| <xsl:choose> |
| <xsl:when test="$refobject/@公共类型_D706= 'png'">image</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'jpg'">image</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'gif'">image</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'bmp'">image</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'pbm'">image</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'wav'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'mid'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'ra'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'au'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'mp3'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'avi'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'mpeg'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'qt'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'rm'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'asf'">plugin</xsl:when> |
| <xsl:when test="$refobject/@公共类型_D706= 'svg'">plugin</xsl:when> |
| <xsl:otherwise>none</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$refobject/@私有类型_D707"> |
| <xsl:choose> |
| <xsl:when test="$refobject/@私有类型_D707= '图片'">image</xsl:when> |
| <xsl:when test="$refobject/@私有类型_D707= 'emf'">image</xsl:when> |
| <xsl:when test="$refobject/@私有类型_D707= 'old对象'">objectole</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$refobject/@私有类型_D707"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>none</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="not($frmobject='none')"> |
| <xsl:choose> |
| <xsl:when test="$frmobject='image'"> |
| <draw:image xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"> |
| <xsl:if test="$refobject/对象:路径_D703"> |
| <!-- maybe xlink is a outside picture --> |
| <xsl:call-template name="AddXLink"> |
| <xsl:with-param name="refobject" select="$refobject"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:if test="$refobject/对象:数据_D702"> |
| <xsl:element name="office:binary-data"> |
| <xsl:value-of select="$refobject/对象:数据_D702"/> |
| </xsl:element> |
| </xsl:if> |
| </draw:image> |
| </xsl:when> |
| <xsl:when test="$frmobject='objectole'"> |
| <xsl:element name="draw:object-ole"> |
| <xsl:if test="$refobject/对象:路径_D703"> |
| <!-- extensions of outside picture --> |
| <xsl:call-template name="AddXLink"> |
| <xsl:with-param name="refobject" select="$refobject"/> |
| </xsl:call-template> |
| <!-- object data --> |
| </xsl:if> |
| <xsl:if test="$refobject/对象:数据_D702"> |
| <xsl:element name="office:binary-data"> |
| <xsl:value-of select="$refobject/对象:数据_D702"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <!-- process pictues including outside pictures --> |
| <xsl:template name="AddXLink"> |
| <xsl:param name="refobject"/> |
| <xsl:attribute name="xlink:href"><xsl:variable name="path"><xsl:value-of select="$refobject/对象:路径_D703"/></xsl:variable><xsl:choose><xsl:when test="starts-with( $path,'/data')"><xsl:value-of select="replace($refobject/对象:路径_D703,'/data','Pictures')"/></xsl:when><xsl:otherwise><xsl:choose><!--'/' is for maybe absolute path--><xsl:when test="starts-with($path,'.') or starts-with($path,'/')"><xsl:value-of select="$path"/></xsl:when><xsl:otherwise><xsl:choose><xsl:when test="substring($path,2,1)=':'"><xsl:value-of select="concat( '/',$path)"/></xsl:when><xsl:otherwise><xsl:value-of select="$path"/></xsl:otherwise></xsl:choose></xsl:otherwise></xsl:choose></xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:template> |
| |
| <xsl:template name="DrawFrame"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:frame"> |
| <xsl:attribute name="draw:name"><xsl:value-of select="@图形引用_C62E"/></xsl:attribute> |
| <xsl:call-template name="DrawCommAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:if test="$picstyle/图:其他对象引用_8038"> |
| <xsl:variable name="cs"> |
| <xsl:value-of select="$picstyle/图:其他对象引用_8038"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/公式:公式集_C200/公式:数学公式_C201[@标识符_C202=$cs]"> |
| <xsl:variable name="refobject" select="/uof:UOF_0000/公式:公式集_C200/公式:数学公式_C201[@标识符_C202=$cs]"/> |
| <xsl:element name="draw:object"> |
| <xsl:element name="math:math"> |
| <xsl:copy-of select="$refobject/公式:math_C203/*"/> |
| </xsl:element> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="refobject" select="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据_D701[@标识符_D704=$cs]"/> |
| <xsl:call-template name="FrmContent"> |
| <xsl:with-param name="refobject" select="$refobject"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <!-- about Draw::Frame match subElement , starting… --> |
| <xsl:if test="$picstyle/图:图片数据引用_8037"> |
| <xsl:variable name="titleMap"> |
| <xsl:value-of select="$picstyle/图:图片数据引用_8037"/> |
| </xsl:variable> |
| <xsl:variable name="pathMap"> |
| <xsl:for-each select="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据_D701[@标识符_D704 = $titleMap]"> |
| <xsl:if test="@标识符_D704 = $titleMap"> |
| <xsl:if test="current()/对象:路径_D703 and @是否内嵌_D705 = 'true'"> |
| <!-- Maybe there need to judge if it is an embedded URL path. Outside URL path doesn't allow to be replaced. --> |
| <!-- Maybe need to judge if gonggongleixing_D706 attribute is existing. --> |
| <xsl:value-of select="replace(current()/对象:路径_D703,'/data','Pictures')"/> |
| </xsl:if> |
| <xsl:if test="current()/对象:路径_D703 and @是否内嵌_D705 = 'false'"> |
| <!-- Maybe there need to judge if it is an embedded URL path. Outside URL path doesn't allow to be replaced. --> |
| <!-- Maybe need to judge if gonggongleixing_D706 attribute is existing. --> |
| <xsl:value-of select="current()/对象:路径_D703"/> |
| </xsl:if> |
| <xsl:if test="current()/对象:数据_D702"> |
| <xsl:value-of select="''"/> |
| </xsl:if> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="embed"> |
| <!-- embedded attribute, correspond with xlink:show in odf --> |
| <xsl:for-each select="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据_D701[@标识符_D704 = $titleMap]"> |
| <xsl:if test="@标识符_D704 = $titleMap"> |
| <!-- If judge ShiFouNeiQian_D705 attribute is existing? --> |
| <xsl:choose> |
| <xsl:when test="@是否内嵌_D705 = 'true'">embed<!--xsl:value-of select="'embed'"/--> |
| </xsl:when> |
| <xsl:otherwise>new<!--replace--> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:element name="draw:image"> |
| <xsl:choose> |
| <xsl:when test="$pathMap = ''"> |
| <xsl:for-each select="/uof:UOF_0000/对象:对象数据集_D700/对象:对象数据_D701[@标识符_D704 = $titleMap]"> |
| <xsl:if test="@标识符_D704 = $titleMap"> |
| <xsl:if test="current()/对象:数据_D702"> |
| <xsl:element name="office:binary-data"> |
| <xsl:value-of select="current()/对象:数据_D702"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="xlink:href"> |
| <xsl:value-of select="$pathMap"/> |
| </xsl:attribute> |
| <xsl:attribute name="xlink:show"> |
| <xsl:value-of select="$embed"/> |
| </xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="($document_type = 'presentation') and (name() = 'uof:锚点_C644')"> |
| <xsl:if test="not($picstyle/图:其他对象引用_8038)"> |
| <xsl:choose> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'graphics'"> |
| <draw:image xlink:href=""/> |
| </xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'chart'"> |
| <draw:object/> |
| <draw:image/> |
| </xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'clipart'"> |
| <draw:image xlink:href=""/> |
| </xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'object'"> |
| <draw:object xlink:href="" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/> |
| </xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'table'"> |
| <draw:object/> |
| <draw:image/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="name() = 'uof:锚点_C644'"> |
| <xsl:call-template name="DrawCommElementWeb"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:element name="draw:text-box"> |
| <xsl:variable name="minheight" select="uof:大小_C621/@长_C604"/> |
| <xsl:if test="@图形引用_C62E"> |
| <xsl:variable name="tempName" select="@图形引用_C62E"/> |
| <xsl:for-each select="$picstyle/图:文本_803C/图:前后链接_803F[@后一链接_8041]"> |
| <xsl:attribute name="draw:chain-next-name"><xsl:value-of select="@后一链接_8041"/></xsl:attribute> |
| <!--xsl:variable name="secondName" select="@后一链接_8041"/> |
| <xsl:attribute name="draw:chain-next-name"><xsl:value-of select="/uof:UOF_0000/字:文字处理文档_4225/字:段落_416B//uof:锚点_C644[@图形引用_C62E = $secondName]/@标识符"/></xsl:attribute--> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:attribute name="fo:min-height" select="concat($minheight, $uofUnit)"/> |
| <xsl:call-template name="DrawCommElementText"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:when> |
| <!--<xsl:when test="name() = 'uof:锚点_C644'"> |
| <xsl:call-template name="DrawCommElementWeb"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:element name="draw:text-box"> |
| <xsl:call-template name="DrawCommElementText"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:when>--> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="GroupContent"> |
| <xsl:param name="zuhe_list"/> |
| <xsl:variable name="first"> |
| <xsl:value-of select="substring-before($zuhe_list,' ')"/> |
| </xsl:variable> |
| <xsl:variable name="picname"> |
| <xsl:choose> |
| <xsl:when test="not($first='')"> |
| <xsl:value-of select="$first"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$zuhe_list"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="picstyle" select="key('graph-styles', $picname)"/> |
| <xsl:call-template name="DrawContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:variable name="other"> |
| <xsl:value-of select="substring-after($zuhe_list,' ')"/> |
| </xsl:variable> |
| <xsl:if test="not($other='')"> |
| <xsl:call-template name="GroupContent"> |
| <xsl:with-param name="zuhe_list" select="$other"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="DrawSvgContent"> |
| <xsl:param name="picstyle"/> |
| <xsl:call-template name="DrawCommAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:variable name="width" select="number($picstyle/图:svg图形对象_8017/@width)*1000"/> |
| <xsl:variable name="height" select="number($picstyle/图:svg图形对象_8017/@height)*1000"/> |
| <xsl:attribute name="svg:viewBox"><xsl:value-of select="concat('0 0 ',$width, ' ',$height)"/></xsl:attribute> |
| <xsl:attribute name="svg:d"><xsl:value-of select="$picstyle/图:svg图形对象_8017/svg:path/@d"/></xsl:attribute> |
| <xsl:call-template name="DrawCommElement"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="SvgGraph"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:path"> |
| <xsl:call-template name="DrawSvgContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="ChartGraph"> |
| <xsl:param name="picstyle"/> |
| <draw:frame> |
| <xsl:attribute name="draw:z-index"><xsl:value-of select="'0'"/></xsl:attribute> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat(uof:大小_C621/@宽_C605,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat(uof:大小_C621/@长_C604,$uofUnit)"/></xsl:attribute> |
| <xsl:for-each select="uof:位置_C620"> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat(uof:水平_4106/uof:绝对_4107/@值_4108,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat(uof:垂直_410D/uof:绝对_4107/@值_4108,$uofUnit)"/></xsl:attribute> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/图表:图表集_E836/图表:图表_E837[@标识符_E828=$picstyle/图:图表数据引用_8065]"> |
| <xsl:element name="draw:object"> |
| <xsl:variable name="var_ObjectName"> |
| <xsl:variable name="var_GenerateID" select="generate-id()"/> |
| <xsl:value-of select="concat('./Object ',$gvar_ChartsIndexes/ChartIndex[@GenerateID = $var_GenerateID]/@Index)"/> |
| </xsl:variable> |
| <xsl:attribute name="draw:notify-on-update-of-ranges"><xsl:choose><xsl:when test="图表:绘图区_E747/图表:数据区域_E74B"><xsl:value-of select="图表:绘图区_E747/图表:数据区域_E74B"/></xsl:when><xsl:otherwise><xsl:for-each select="图表:绘图区_E747/图表:图表类型组集_E74C/图表:组_E74D[1]/图表:数据系列集_E74E"><xsl:for-each select="图表:数据系列_E74F[1]"><xsl:if test="@值_E775"><xsl:analyze-string select="@值_E775" regex="='(.*?)'!([A-Z,a-z]{{1,2}}\d+):?([A-Z,a-z]{{1,2}}\d+)?"><xsl:matching-substring><xsl:choose><xsl:when test="regex-group(3) = ''"><xsl:value-of select="concat(regex-group(1), '.', regex-group(2))"/></xsl:when><xsl:otherwise><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(3))"/></xsl:otherwise></xsl:choose><xsl:value-of select="' '"/></xsl:matching-substring></xsl:analyze-string></xsl:if></xsl:for-each><xsl:for-each-group select="图表:数据系列_E74F" group-by="@分类名_E776"><xsl:analyze-string select="current-grouping-key()" regex="='(.*?)'!([A-Z,a-z]{{1,2}}\d+):?([A-Z,a-z]{{1,2}}\d+)?"><xsl:matching-substring><xsl:choose><xsl:when test="regex-group(3) = ''"><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(2))"/></xsl:when><xsl:otherwise><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(3))"/></xsl:otherwise></xsl:choose><xsl:value-of select="' '"/></xsl:matching-substring></xsl:analyze-string></xsl:for-each-group><xsl:for-each-group select="图表:数据系列_E74F" group-by="@名称_E774"><xsl:analyze-string select="current-grouping-key()" regex="='(.*?)'!([A-Z,a-z]{{1,2}}\d+):?([A-Z,a-z]{{1,2}}\d+)?"><xsl:matching-substring><xsl:choose><xsl:when test="regex-group(3) = ''"><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(2))"/></xsl:when><xsl:otherwise><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(3))"/></xsl:otherwise></xsl:choose><xsl:value-of select="' '"/></xsl:matching-substring></xsl:analyze-string></xsl:for-each-group></xsl:for-each></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="$var_ObjectName"/></xsl:attribute> |
| <xsl:attribute name="xlink:type">simple</xsl:attribute> |
| <xsl:attribute name="xlink:show">embed</xsl:attribute> |
| <xsl:attribute name="xlink:actuate">onLoad</xsl:attribute> |
| </xsl:element> |
| </xsl:for-each> |
| </draw:frame> |
| </xsl:template> |
| <xsl:template name="LinePathContent"> |
| <xsl:param name="picstyle"/> |
| <xsl:call-template name="DrawCommAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:variable name="pointx"> |
| <xsl:value-of select="$picstyle/图:预定义图形_8018/图:路径_801C/图:视窗_806A/图:左上角_806B/@x_C606"/> |
| </xsl:variable> |
| <xsl:variable name="pointy"> |
| <xsl:value-of select="$picstyle/图:预定义图形_8018/图:路径_801C/图:视窗_806A/图:左上角_806B/@y_C607"/> |
| </xsl:variable> |
| <xsl:variable name="height"> |
| <xsl:value-of select="$picstyle/图:预定义图形_8018/图:路径_801C/图:视窗_806A/图:大小_806C/@长_C604"/> |
| </xsl:variable> |
| <xsl:variable name="width"> |
| <xsl:value-of select="$picstyle/图:预定义图形_8018/图:路径_801C/图:视窗_806A/图:大小_806C/@宽_C605"/> |
| </xsl:variable> |
| <xsl:attribute name="svg:viewBox"><xsl:value-of select="concat($pointx,' ',$pointy,' ',$width, ' ',$height)"/></xsl:attribute> |
| <xsl:attribute name="svg:d"><xsl:value-of select="$picstyle/图:预定义图形_8018/图:路径_801C/图:路径值_8069"/></xsl:attribute> |
| <xsl:call-template name="DrawCommElement"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="LinePath"> |
| <xsl:param name="picstyle"/> |
| <xsl:element name="draw:path"> |
| <xsl:call-template name="LinePathContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="DrawPageThumbnail"> |
| <xsl:param name="picstyle"/> |
| <draw:page-thumbnail> |
| <xsl:attribute name="draw:layer">layout</xsl:attribute> |
| <xsl:attribute name="draw:page-number"><xsl:value-of select="count(../../preceding-sibling::*) + 1"/></xsl:attribute> |
| <xsl:call-template name="DrawCommAttr"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:attribute name="presentation:class">page</xsl:attribute> |
| </draw:page-thumbnail> |
| </xsl:template> |
| <xsl:template name="DrawContent"> |
| <xsl:param name="picstyle"/> |
| <xsl:variable name="id" select="@图形引用_C62E"/> |
| <xsl:variable name="Isframe"> |
| <xsl:variable name="IsChaining"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:前后链接_803F/@前一链接_8040 = $id or /uof:UOF_0000/图形:图形集_7C00/图:图形_8062/图:文本_803C/图:前后链接_803F/@后一链接_8041 = $id">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="uof:占位符_C626">true</xsl:when> |
| <xsl:when test="$picstyle/图:文本_803C/图:内容_8043/字:文字表_416C or $picstyle/图:文本_803C//uof:锚点_C644 or $picstyle/图:文本_803C/图:前后链接_803F/@前一链接_8040 or $picstyle/图:文本_803C/图:前后链接_803F/@后一链接_8041 or ($picstyle/图:文本_803C/图:文字排列方向_8042 != '' and $picstyle/图:文本_803C/图:文字排列方向_8042 != 't2b-l2r-0e-0w') or $IsChaining = 'true' or $picstyle/图:其他对象引用_8038 or $picstyle/图:文本_803C//字:域开始_419E">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$picstyle/@组合列表_8064"> |
| <xsl:variable name="zuhe_list" select="$picstyle/@组合列表_8064"/> |
| <xsl:element name="draw:g"> |
| <xsl:call-template name="DrawCommContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| <xsl:call-template name="GroupContent"> |
| <xsl:with-param name="zuhe_list" select="$zuhe_list"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:when> |
| <!--xsl:when test="$picstyle/图:其他对象引用_8038 !=''"> |
| <xsl:element name="draw:frame"> |
| <xsl:call-template name="DrawOtherAttr"/> |
| <xsl:for-each select="key('other-styles',$picstyle/图:其他对象引用_8038)"> |
| <draw:image xlink:actuate="onLoad" xlink:show="embed" xlink:type="simple"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="对象:路径_D703"/></xsl:attribute> |
| </draw:image> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when--> |
| <!--integrated Conversion the customshape or frame --> |
| <!-- change this type to draw:frame --> |
| <xsl:when test="$picstyle/图:图片数据引用_8037"> |
| <!--用‘图:预定义图形_8018/图:属性_801D/图:图片属性_801E’判断也可以--> |
| <xsl:call-template name="DrawFrame"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:预定义图形_8018/图:类别_8019 = '11' and $Isframe = 'true'"> |
| <xsl:call-template name="DrawFrame"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <!--<xsl:when test="$picstyle/图:预定义图形/图:类别 = '11' and uof:占位符_C626 !='' ">--> |
| <xsl:when test="uof:占位符_C626 !='' "> |
| <xsl:call-template name="DrawFrame"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:svg图形对象_8017"> |
| <xsl:call-template name="SvgGraph"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:图表数据引用_8065"> |
| <xsl:call-template name="ChartGraph"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$picstyle/图:预定义图形_8018/图:路径_801C"> |
| <xsl:call-template name="LinePath"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="graphtype"> |
| <xsl:value-of select="$picstyle[1]/图:预定义图形_8018/图:类别_8019"/> |
| </xsl:variable> |
| <xsl:choose> |
| <!--xsl:when test="$graphtype='11'"> |
| <xsl:call-template name="DrawRect"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when--> |
| <xsl:when test="$graphtype='61'"> |
| <xsl:call-template name="DrawLine"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$graphtype='66'"> |
| <xsl:call-template name="DrawPolyline"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$graphtype='65'"> |
| <xsl:call-template name="DrawPolygon"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <!--xsl:when test="$graphtype='19'"> |
| <xsl:call-template name="DrawEllipse"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$graphtype='51'"> |
| <xsl:call-template name="DrawCaption"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when--> |
| <xsl:when test="$graphtype='71' or $graphtype='72' or $graphtype='73' or $graphtype='74' or $graphtype='75' or $graphtype='76' or $graphtype='77' or $graphtype='78' or $graphtype='79'"> |
| <xsl:call-template name="DrawConnector"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="DrawCustomshape"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| <xsl:with-param name="graphtype" select="$graphtype"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="DrawOtherAttr"> |
| <xsl:variable name="posx"> |
| <xsl:choose> |
| <xsl:when test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:value-of select="number(0)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108"> |
| <xsl:value-of select="number(uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:水平_4106/uof:相对_4109"> |
| <xsl:value-of select="number(uof:位置_C620/uof:水平_4106/uof:相对_4109/@值_410B)"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="posy"> |
| <xsl:choose> |
| <xsl:when test="uof:位置_C620/@类型_C646 = 'as-char'"> |
| <xsl:value-of select="number(0)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/@相对于_410C = 'line'"> |
| <xsl:value-of select="0 - number(uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108"> |
| <xsl:value-of select="number(uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108)"/> |
| </xsl:when> |
| <xsl:when test="uof:位置_C620/uof:垂直_410D/uof:相对_4109"> |
| <xsl:value-of select="number(uof:位置_C620/uof:垂直_410D/uof:相对_4109/@值_410B)"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat($posx,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat($posy,$uofUnit)"/></xsl:attribute> |
| <xsl:variable name="width"> |
| <xsl:value-of select="number(uof:大小_C621/@宽_C605)"/> |
| </xsl:variable> |
| <xsl:variable name="height"> |
| <xsl:value-of select="number(uof:大小_C621/@长_C604)"/> |
| </xsl:variable> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat($width,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat($height,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="text:anchor-type"><xsl:choose><xsl:when test="uof:位置_C620/@类型_C646='page'">page</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='paragraph'">paragraph</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='char'">char</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='as-char'">as-char</xsl:when><xsl:when test="uof:位置_C620/@类型_C646='frame'">frame</xsl:when><xsl:otherwise>char</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="draw:style-name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template name="ObjectContent"> |
| <xsl:variable name="picname" select="@图形引用_C62E"/> |
| <xsl:variable name="picstyle" select="key('graph-styles', $picname)[1]"/> |
| <xsl:choose> |
| <xsl:when test="@是否显示缩略图_C630='true' or @是否显示缩略图_C630='1'"> |
| <xsl:call-template name="DrawPageThumbnail"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="name($picstyle[1]) != ''"> |
| <xsl:call-template name="DrawContent"> |
| <xsl:with-param name="picstyle" select="$picstyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="objstyle" select="key('other-styles', $picname)"/> |
| <xsl:choose> |
| <xsl:when test="$objstyle != ''"> |
| <xsl:element name="draw:frame"> |
| <xsl:call-template name="DrawOtherAttr"/> |
| <xsl:call-template name="FrmContent"> |
| <xsl:with-param name="refobject" select="$objstyle"/> |
| </xsl:call-template> |
| </xsl:element> |
| <!--<xsl:call-template name="DrawFrame"> |
| <xsl:with-param name="picstyle" select="$objstyle"/> |
| </xsl:call-template>--> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="mathstyle" select="key('math-styles', $picname)"/> |
| <xsl:if test="$mathstyle != ''"> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <!-- if x value is too big, it will overflow. --> |
| <!-- template sin(x) : sin(x) = x - x^3 / 3! + x^5 / 5! - ... +(-1)^(n-1) * x^(2 * n - 1) / (2 * n - 1) + ...--> |
| <xsl:template name="sin"> |
| <xsl:param name="arc"/> |
| <xsl:param name="n"> |
| <xsl:value-of select="'1'"/> |
| </xsl:param> |
| <xsl:param name="result"/> |
| <xsl:choose> |
| <xsl:when test="$n = '1'"> |
| <xsl:call-template name="sin"> |
| <xsl:with-param name="arc"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="($n mod 2) = 0"> |
| <xsl:variable name="NPowerOfArc"> |
| <xsl:call-template name="power"> |
| <xsl:with-param name="x"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="2 * $n - 1"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="NFactorial"> |
| <xsl:call-template name="factorial"> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="2 * $n - 1"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="factor"> |
| <xsl:value-of select="$NPowerOfArc div $NFactorial"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$factor > -0.0000001 and $factor < 0.0000001"> |
| <xsl:value-of select="$result - $factor"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="sin"> |
| <xsl:with-param name="arc"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="$result - $factor"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="($n mod 2) = 1"> |
| <xsl:variable name="NPowerOfArc"> |
| <xsl:call-template name="power"> |
| <xsl:with-param name="x"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="2 * $n - 1"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="NFactorial"> |
| <xsl:call-template name="factorial"> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="2 * $n - 1"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="factor"> |
| <xsl:value-of select="$NPowerOfArc div $NFactorial"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$factor > -0.0000001 and $factor < 0.0000001"> |
| <xsl:value-of select="$result + $factor"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="sin"> |
| <xsl:with-param name="arc"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="$result + $factor"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <!-- if x value is too big, it will overflow. --> |
| <!-- template cos(x) : cos(x) = 1 - x^2 / 2! + x^4 / 4! - ... + (-1)^n * x^(2 * n) / (2 * n)! + ...--> |
| <xsl:template name="cos"> |
| <xsl:param name="arc"/> |
| <xsl:param name="n"> |
| <xsl:value-of select="'0'"/> |
| </xsl:param> |
| <xsl:param name="result"/> |
| <xsl:choose> |
| <xsl:when test="$n = '0'"> |
| <xsl:call-template name="cos"> |
| <xsl:with-param name="arc"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="1"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="($n mod 2) = 0"> |
| <xsl:variable name="NPowerOfArc"> |
| <xsl:call-template name="power"> |
| <xsl:with-param name="x"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="2 * $n"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="NFactorial"> |
| <xsl:call-template name="factorial"> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="2 * $n"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="factor"> |
| <xsl:value-of select="$NPowerOfArc div $NFactorial"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$factor > -0.0000001 and $factor < 0.0000001"> |
| <xsl:value-of select="$result + $factor"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="cos"> |
| <xsl:with-param name="arc"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="$result + $factor"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="($n mod 2) = 1"> |
| <xsl:variable name="NPowerOfArc"> |
| <xsl:call-template name="power"> |
| <xsl:with-param name="x"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="2 * $n"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="NFactorial"> |
| <xsl:call-template name="factorial"> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="2 * $n"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="factor"> |
| <xsl:value-of select="$NPowerOfArc div $NFactorial"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$factor > -0.0000001 and $factor < 0.0000001 "> |
| <xsl:value-of select="$result - $factor"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="cos"> |
| <xsl:with-param name="arc"> |
| <xsl:value-of select="$arc"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="$result - $factor"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <!-- template : n power of x --> |
| <xsl:template name="power"> |
| <xsl:param name="x"/> |
| <xsl:param name="n"/> |
| <xsl:param name="i"> |
| <xsl:value-of select="1"/> |
| </xsl:param> |
| <xsl:param name="result"> |
| <xsl:value-of select="1"/> |
| </xsl:param> |
| <xsl:choose> |
| <xsl:when test="$n = 0"> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:when test="$i = 1"> |
| <xsl:choose> |
| <xsl:when test="$n = 1"> |
| <xsl:value-of select="$x"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="power"> |
| <xsl:with-param name="x"> |
| <xsl:value-of select="$x"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n"/> |
| </xsl:with-param> |
| <xsl:with-param name="i"> |
| <xsl:value-of select="$i + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="$x"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$i = $n"> |
| <xsl:value-of select="$result * $x"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="power"> |
| <xsl:with-param name="x"> |
| <xsl:value-of select="$x"/> |
| </xsl:with-param> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n"/> |
| </xsl:with-param> |
| <xsl:with-param name="i"> |
| <xsl:value-of select="$i + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="$result * $x"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <!-- template : N! --> |
| <xsl:template name="factorial"> |
| <xsl:param name="n"/> |
| <xsl:param name="i"> |
| <xsl:value-of select="1"/> |
| </xsl:param> |
| <xsl:param name="result"> |
| <xsl:value-of select="1"/> |
| </xsl:param> |
| <xsl:choose> |
| <xsl:when test="$n = 0"> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:when test="$i = 1"> |
| <xsl:choose> |
| <xsl:when test="$n = 1"> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="factorial"> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n"/> |
| </xsl:with-param> |
| <xsl:with-param name="i"> |
| <xsl:value-of select="$i + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="1"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$i = $n"> |
| <xsl:value-of select="$result * $i"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="factorial"> |
| <xsl:with-param name="n"> |
| <xsl:value-of select="$n"/> |
| </xsl:with-param> |
| <xsl:with-param name="i"> |
| <xsl:value-of select="$i + 1"/> |
| </xsl:with-param> |
| <xsl:with-param name="result"> |
| <xsl:value-of select="$result * $i"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="OfficeSettingsText"> |
| <!-- 关于SW中公共处理规则的相关子元素的处理 --> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:文字处理_B66B/规则:文档设置_B600"> |
| <config:config-item-set config:name="ooo:view-settings"> |
| <config:config-item config:name="InBrowseMode" config:type="boolean"> |
| <xsl:choose> |
| <xsl:when test="规则:当前视图_B601='web'">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </config:config-item> |
| <config:config-item config:name="ShowRedlineChanges" config:type="boolean"> |
| <!-- absent function xsl:choose> |
| <xsl:when test="规则:是否修订_B605 = 'true'">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose--> |
| <xsl:value-of select="'true'"/> |
| </config:config-item> |
| <config:config-item-map-indexed config:name="Views"> |
| <config:config-item-map-entry> |
| <xsl:if test="规则:缩放_B603"> |
| <config:config-item config:name="VisibleRight" config:type="int">1</config:config-item> |
| <config:config-item config:name="VisibleBottom" config:type="int">1</config:config-item> |
| <xsl:choose> |
| <xsl:when test="string(规则:缩放_B603) = 'best-fit'"> |
| <config:config-item config:name="ZoomType" config:type="short">3</config:config-item> |
| </xsl:when> |
| <xsl:when test="string(规则:缩放_B603) = 'full-page'"> |
| <config:config-item config:name="ZoomType" config:type="short">2</config:config-item> |
| </xsl:when> |
| <xsl:when test="string(规则:缩放_B603) = 'text-fit'"> |
| <config:config-item config:name="ZoomType" config:type="short">1</config:config-item> |
| </xsl:when> |
| <xsl:otherwise> |
| <config:config-item config:name="ZoomType" config:type="short">0</config:config-item> |
| </xsl:otherwise> |
| </xsl:choose> |
| <config:config-item config:name="ZoomFactor" config:type="short"> |
| <xsl:value-of select="规则:缩放_B603"/> |
| </config:config-item> |
| </xsl:if> |
| </config:config-item-map-entry> |
| </config:config-item-map-indexed> |
| </config:config-item-set> |
| <config:config-item-set config:name="ooo:configuration-settings"> |
| <config:config-item-map-indexed config:name="ForbiddenCharacters"> |
| <config:config-item-map-entry> |
| <config:config-item config:name="Language" config:type="string">zh</config:config-item> |
| <config:config-item config:name="Country" config:type="string">CN</config:config-item> |
| <config:config-item config:name="Variant" config:type="string"/> |
| <config:config-item config:name="BeginLine" config:type="string"> |
| <xsl:choose> |
| <xsl:when test="规则:标点禁则_B608/规则:行首字符_B609"> |
| <xsl:value-of select="规则:标点禁则_B608/规则:行首字符_B609"/> |
| </xsl:when> |
| <xsl:otherwise>:!),.:;?]}_'"、。〉》」』】〕〗〞︰︱︳﹐_﹒﹔﹕﹖﹗﹚﹜﹞!),.:;?|}︴︶︸︺︼︾﹀﹂﹄﹏_~¢々‖_·ˇˉ―--′</xsl:otherwise> |
| </xsl:choose> |
| </config:config-item> |
| <config:config-item config:name="EndLine" config:type="string"> |
| <xsl:choose> |
| <xsl:when test="规则:标点禁则_B608/规则:行尾字符_B60A"> |
| <xsl:value-of select="规则:标点禁则_B608/规则:行尾字符_B60A"/> |
| </xsl:when> |
| <xsl:otherwise>([{__'"‵〈《「『【〔〖([{£¥〝︵︷︹︻︽︿﹁﹃﹙﹛﹝({</xsl:otherwise> |
| </xsl:choose> |
| </config:config-item> |
| </config:config-item-map-entry> |
| </config:config-item-map-indexed> |
| <config:config-item config:name="AddExternalLeading" config:type="boolean">false</config:config-item> |
| <!--<config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">false</config:config-item>--> |
| <config:config-item config:name="CharacterCompressionType" config:type="short"> |
| <xsl:choose> |
| <!--<xsl:when test="string(规则:标点压缩_B60B/@是否采用_B60C) = 'true'">1</xsl:when>--> |
| <xsl:when test="string(规则:字距调整是否用于西文和标点符号_B60B) = 'true'">1</xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </config:config-item> |
| <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"> |
| <xsl:variable name="alignway"> |
| <xsl:value-of select="concat('!',../../字:分节_416A_416A[1]/字:节属性_421B/字:垂直对齐方式_4213,'#')"/> |
| </xsl:variable> |
| <xsl:variable name="view"> |
| <xsl:value-of select="concat(规则:当前视图_B601,'@')"/> |
| </xsl:variable> |
| <xsl:variable name="anthor"> |
| <xsl:value-of select="concat(../规则:批注集_B669/规则:批注_B66A[1]/@作者缩写_41DF,'%')"/> |
| </xsl:variable> |
| <xsl:variable name="pagesep"> |
| <xsl:value-of select="concat(../../字:分节_416A[1]/字:节属性_421B/字:页码设置_4205/@分隔符_4209,'*')"/> |
| </xsl:variable> |
| <xsl:variable name="pagetype"> |
| <xsl:value-of select="concat(../../字:分节_416A[1]/字:节属性_421B/字:节类型_41EA,'/')"/> |
| </xsl:variable> |
| <xsl:variable name="pinye"> |
| <xsl:value-of select="concat(../../字:分节_416A[1]/字:节属性_421B/字:是否拼页_41FE,'(')"/> |
| </xsl:variable> |
| <xsl:value-of select="concat($alignway,$view,$anthor,$pagesep,$pagetype,$pinye)"/> |
| </config:config-item> |
| <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean"> |
| <xsl:choose> |
| <xsl:when test="规则:字距调整_B606 = 'none'">false</xsl:when> |
| <xsl:otherwise>true</xsl:otherwise> |
| </xsl:choose> |
| </config:config-item> |
| <xsl:if test="../../字:文字处理文档_4225/字:分节_416A/字:节属性_421B/字:装订线_41FB"> |
| <xsl:variable name="pos"> |
| <xsl:value-of select="../../字:分节_416A/字:节属性_421B/字:装订线_41FB/@位置_4150"/> |
| </xsl:variable> |
| <xsl:variable name="val"> |
| <xsl:value-of select="../../字:分节_416A/字:节属性_421B/字:装订线_41FB/@距边界_41FC"/> |
| </xsl:variable> |
| <xsl:variable name="danwei"> |
| <xsl:value-of select="../../规则:公用处理规则_B665/规则:长度单位_B666"/> |
| </xsl:variable> |
| <xsl:variable name="mer"> |
| <xsl:value-of select="concat($val,$danwei)"/> |
| </xsl:variable> |
| <xsl:variable name="val0"> |
| <xsl:call-template name="convert2cm"> |
| <xsl:with-param name="value" select="$mer"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="name"> |
| <xsl:value-of select="concat($pos,'-',$val0)"/> |
| </xsl:variable> |
| <config:config-item config:name="PrintFaxName" config:type="string"> |
| <xsl:value-of select="$name"/> |
| </config:config-item> |
| </xsl:if> |
| </config:config-item-set> |
| </xsl:for-each> |
| <!-- 关于SW中公共处理规则的相关子元素的处理 --> |
| </xsl:template> |
| <xsl:template name="default_seqence_declaration"> |
| <text:sequence-decls> |
| <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/> |
| <text:sequence-decl text:display-outline-level="0" text:name="Table"/> |
| <text:sequence-decl text:display-outline-level="0" text:name="Text"/> |
| <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/> |
| </text:sequence-decls> |
| </xsl:template> |
| <xsl:template name="OneTrackChanges"> |
| <xsl:param name="type"/> |
| <xsl:variable name="id" select="@标识符_4220"/> |
| <xsl:variable name="ref" select="@修订信息引用_4222"/> |
| <xsl:variable name="aid" select="/uof:UOF_0000/规则:公用处理规则_B665/规则:文字处理_B66B/规则:修订信息集_B60E/规则:修订信息_B60F[@标识符_B610=$ref]/@作者_B611"/> |
| <xsl:variable name="sid" select="/uof:UOF_0000/规则:公用处理规则_B665/规则:用户集_B667/规则:用户_B668[@标识符_4100=$aid]/@姓名_41DC"/> |
| <xsl:variable name="bid" select="/uof:UOF_0000/规则:公用处理规则_B665/规则:文字处理_B66B/规则:修订信息集_B60E/规则:修订信息_B60F[@标识符_B610=$ref]/@日期_B612"/> |
| <text:changed-region text:id="{$id}"> |
| <xsl:choose> |
| <xsl:when test="not(name(following-sibling::*[1])='字:修订结束_4223')"> |
| <xsl:choose> |
| <xsl:when test="$type='insert'"> |
| <text:insertion> |
| <office:change-info> |
| <dc:creator> |
| <xsl:value-of select="$sid"/> |
| </dc:creator> |
| <dc:date> |
| <xsl:value-of select="$bid"/> |
| </dc:date> |
| </office:change-info> |
| </text:insertion> |
| </xsl:when> |
| <xsl:when test="$type='delete'"> |
| <text:deletion> |
| <office:change-info> |
| <dc:creator> |
| <xsl:value-of select="$sid"/> |
| </dc:creator> |
| <dc:date> |
| <xsl:value-of select="$bid"/> |
| </dc:date> |
| </office:change-info> |
| </text:deletion> |
| </xsl:when> |
| <xsl:when test="$type='format'"> |
| <text:format-change> |
| <office:change-info> |
| <dc:creator> |
| <xsl:value-of select="$sid"/> |
| </dc:creator> |
| <dc:date> |
| <xsl:value-of select="$bid"/> |
| </dc:date> |
| </office:change-info> |
| </text:format-change> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <text:format-change> |
| <office:change-info> |
| <dc:creator> |
| <xsl:value-of select="$sid"/> |
| </dc:creator> |
| <dc:date> |
| <xsl:value-of select="$bid"/> |
| </dc:date> |
| </office:change-info> |
| </text:format-change> |
| </xsl:otherwise> |
| </xsl:choose> |
| </text:changed-region> |
| </xsl:template> |
| <xsl:template name="GenerateTrackChanges"> |
| <xsl:if test="/uof:UOF_0000/规则:公用处理规则_B665/规则:文字处理_B66B/规则:文档设置_B600/规则:是否修订_B605 or //字:修订开始_421F"> |
| <text:tracked-changes> |
| <xsl:if test="/uof:UOF_0000/规则:公用处理规则_B665/规则:文字处理_B66B/规则:文档设置_B600/规则:是否修订_B605"> |
| <xsl:attribute name="text:track-changes"><xsl:value-of select="/uof:UOF_0000/规则:公用处理规则_B665/规则:文字处理_B66B/规则:文档设置_B600/规则:是否修订_B605"/></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="//字:段落_416B/字:修订开始_421F[@类型_4221='insert'] | //字:文字处理文档_4225/字:修订开始_421F[@类型_4221='insert']"> |
| <xsl:call-template name="OneTrackChanges"> |
| <xsl:with-param name="type" select="string('insert')"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| <xsl:for-each select="//字:段落_416B/字:修订开始_421F[@类型_4221='delete'] | //字:文字处理文档_4225/字:修订开始_421F[@类型_4221='delete']"> |
| <xsl:call-template name="OneTrackChanges"> |
| <xsl:with-param name="type" select="string('delete')"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| <xsl:for-each select="//字:段落_416B/字:修订开始_421F[@类型_4221='format'] | //字:文字处理文档_4225/字:修订开始_421F[@类型_4221='format']"> |
| <xsl:call-template name="OneTrackChanges"> |
| <xsl:with-param name="type" select="string('format')"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| <xsl:for-each select="//字:段落_416B/字:句_419D/字:修订开始_421F[@类型_4221='format']"> |
| <xsl:call-template name="OneTrackChanges"> |
| <xsl:with-param name="type" select="string('format')"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| <xsl:for-each select="//字:段落_416B/字:句_419D/字:修订开始_421F[@类型_4221='insert'] "> |
| <xsl:call-template name="OneTrackChanges"> |
| <xsl:with-param name="type" select="string('insert')"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| <xsl:for-each select="//字:段落_416B/字:句_419D/字:修订开始_421F[@类型_4221='delete']"> |
| <xsl:call-template name="OneTrackChanges"> |
| <xsl:with-param name="type" select="string('delete')"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </text:tracked-changes> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:文字处理文档_4225"> |
| <xsl:element name="office:body"> |
| <xsl:element name="office:text"> |
| <xsl:call-template name="default_seqence_declaration"/> |
| <xsl:call-template name="GenerateTrackChanges"/> |
| <!--xsl:for-each select="字:文字处理文档_4225"--> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="."/> |
| </xsl:call-template> |
| <!--/xsl:for-each--> |
| </xsl:element> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="CallExpandHatch"> |
| <xsl:if test="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206[@名称='draw:hatch']"> |
| <xsl:for-each select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206[@名称='draw:hatch']/扩展:图案数据"> |
| <draw:hatch> |
| <xsl:attribute name="draw:name"><xsl:value-of select="@uof:name"/></xsl:attribute> |
| <xsl:attribute name="draw:display-name"><xsl:value-of select="@uof:display-name"/></xsl:attribute> |
| <xsl:attribute name="draw:style"><xsl:value-of select="@uof:style"/></xsl:attribute> |
| <xsl:attribute name="draw:color"><xsl:value-of select="@uof:color"/></xsl:attribute> |
| <xsl:attribute name="draw:distance"><xsl:value-of select="@uof:distance"/></xsl:attribute> |
| <xsl:attribute name="draw:rotation"><xsl:value-of select="@uof:rotation"/></xsl:attribute> |
| </draw:hatch> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:template> |
| <!--xsl:template name="CallExpandMarker"> |
| <xsl:if test="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206[@名称='draw:marker']"> |
| <xsl:for-each select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206[@名称='draw:marker']/*"> |
| <draw:marker> |
| <xsl:attribute name="draw:name"><xsl:value-of select="@uof:name"/></xsl:attribute> |
| <xsl:attribute name="draw:display-name"><xsl:value-of select="@uof:display-name"/></xsl:attribute> |
| <xsl:attribute name="svg:viewBox"><xsl:value-of select="@svg:viewBox"/></xsl:attribute> |
| <xsl:attribute name="svg:d"><xsl:value-of select="@svg:d"/></xsl:attribute> |
| </draw:marker> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:template--> |
| <xsl:template name="CallExpandStroke"> |
| <xsl:if test="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206[@名称='draw:stroke-dash']"> |
| <xsl:for-each select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204/扩展:内容_B206[@名称='draw:stroke-dash']/扩展:线型数据"> |
| <draw:stroke-dash> |
| <xsl:attribute name="draw:name"><xsl:value-of select="@uof:name"/></xsl:attribute> |
| <xsl:attribute name="draw:display-name"><xsl:value-of select="@uof:display-name"/></xsl:attribute> |
| <xsl:attribute name="draw:dots1"><xsl:value-of select="@uof:dots1"/></xsl:attribute> |
| <xsl:attribute name="draw:dots2"><xsl:value-of select="@uof:dots1"/></xsl:attribute> |
| <xsl:attribute name="draw:dots1-length"><xsl:value-of select="@uof:dots1-length"/></xsl:attribute> |
| <xsl:attribute name="draw:dots2-length"><xsl:value-of select="@uof:dots2-length"/></xsl:attribute> |
| <xsl:attribute name="draw:distance"><xsl:value-of select="@uof:distance"/></xsl:attribute> |
| </draw:stroke-dash> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="FootnoteSetting"> |
| <xsl:element name="text:notes-configuration"> |
| <xsl:attribute name="text:note-class"><xsl:value-of select="'footnote'"/></xsl:attribute> |
| <xsl:attribute name="text:master-page-name">Footnote</xsl:attribute> |
| <xsl:for-each select="/uof:UOF_0000/字:文字处理文档_4225/字:分节_416A[1]/字:节属性_421B/字:脚注设置_4203"> |
| <xsl:attribute name="text:footnotes-position"><xsl:choose><xsl:when test="@位置_4150='page-bottom' or @位置_4150='below-text'">page</xsl:when><!--<xsl:otherwise>document</xsl:otherwise>--><xsl:otherwise>page</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="text:start-numbering-at"><xsl:choose><xsl:when test="@编号方式_4153='continuous'">document</xsl:when><xsl:when test="@编号方式_4153='section'">chapter</xsl:when><xsl:when test="@编号方式_4153='page'">page</xsl:when></xsl:choose></xsl:attribute> |
| <xsl:attribute name="text:start-value"><xsl:value-of select="number(@起始编号_4152) - number(1)"/></xsl:attribute> |
| <xsl:attribute name="style:num-format"><xsl:call-template name="NumberFormat"><xsl:with-param name="oo_format" select="@格式_4151"/></xsl:call-template></xsl:attribute> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="EndnoteSetting"> |
| <xsl:element name="text:notes-configuration"> |
| <xsl:attribute name="text:note-class">endnote</xsl:attribute> |
| <xsl:attribute name="text:master-page-name">Endnote</xsl:attribute> |
| <xsl:for-each select="/uof:UOF_0000/字:文字处理文档_4225/字:分节_416A[1]/字:节属性_421B/字:尾注设置_4204"> |
| <xsl:attribute name="style:num-format"><xsl:call-template name="NumberFormat"><xsl:with-param name="oo_format" select="@格式_4151"/></xsl:call-template></xsl:attribute> |
| <xsl:attribute name="text:start-value"><xsl:value-of select="number(@起始编号_4152) - 1"/></xsl:attribute> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="LineNumbering"> |
| <xsl:for-each select="/uof:UOF_0000/字:文字处理文档_4225/字:分节_416A[1]/字:节属性_421B/字:行号设置_420A"> |
| <xsl:if test="@是否使用行号_420B='true'"> |
| <xsl:element name="text:linenumbering-configuration"> |
| <xsl:choose> |
| <xsl:when test="@是否使用行号_420B='true'"> |
| <xsl:attribute name="text:number-lines">true</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="text:style-name">Line numbering</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="@编号方式_4153"> |
| <xsl:choose> |
| <xsl:when test="@编号方式_4153='section'"> |
| <xsl:attribute name="text:count-in-floating-frames">true</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@编号方式_4153='page'"> |
| <xsl:attribute name="text:restart-on-page">true</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="编号方式_4153='continuous'"> |
| <xsl:attribute name="text:count-empty-lines">true</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <!-- |
| <xsl:if test="@字:起始编号"> |
| <xsl:attribute name="style:num-format"><xsl:value-of select="@字:起始编号"/></xsl:attribute> |
| </xsl:if>--> |
| <!-- 行编号兼容eio 当永中设置距离文本为'自动'时,其默认距离为0.65cm--> |
| <xsl:if test="@距边界_41F0"> |
| <xsl:attribute name="text:offset"><xsl:choose><xsl:when test="@距边界_41F0='0.0'">0.65cm</xsl:when><xsl:otherwise><xsl:value-of select="concat(@距边界_41F0,$uofUnit)"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@行号间隔_420D"> |
| <xsl:attribute name="text:increment"><xsl:value-of select="@行号间隔_420D"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:function name="nsof:NeoShineOfficeID"> |
| <xsl:param name="CurNode"/> |
| <xsl:for-each select="$CurNode"> |
| <xsl:variable name="curName" select="substring-after(name(),':')"/> |
| <xsl:choose> |
| <xsl:when test="$curName != '分节_416A'"> |
| <xsl:value-of select="concat($curName,'-',string(count(../../preceding-sibling::*[name() = '字:分节_416A']) + 1))"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($curName,'-',string(count(preceding-sibling::*[name() = '字:分节_416A']) + 1))"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:function> |
| <xsl:template name="MasterStyleText"> |
| <xsl:for-each select="/uof:UOF_0000/字:文字处理文档_4225/字:分节_416A/字:节属性_421B"> |
| <xsl:variable name="sectname"> |
| <xsl:value-of select="nsof:NeoShineOfficeID(..)"/> |
| </xsl:variable> |
| <xsl:if test="字:是否首页页眉页脚不同_41EE='true' or 字:页码设置_4205/@字:首页显示 = 'false'"> |
| <style:master-page> |
| <xsl:variable name="mname"> |
| <xsl:choose> |
| <xsl:when test="字:是否首页页眉页脚不同_41EE='true'"> |
| <xsl:value-of select="nsof:NeoShineOfficeID(字:是否首页页眉页脚不同_41EE)"/> |
| </xsl:when> |
| <xsl:when test="字:页码设置_4205/@字:首页显示 = 'false'"> |
| <xsl:value-of select="nsof:NeoShineOfficeID(字:页码设置_4205)"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:name"><xsl:value-of select="$mname"/></xsl:attribute> |
| <xsl:attribute name="style:page-layout-name"><xsl:value-of select="concat('layout-', $sectname)"/></xsl:attribute> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="$mname"/></xsl:attribute> |
| <xsl:attribute name="style:next-style-name"><xsl:value-of select="$sectname"/></xsl:attribute> |
| <xsl:if test="字:页眉_41F3/字:首页页眉_41F6 or 字:页脚_41F7/字:首页页脚_41FA"> |
| <xsl:choose> |
| <xsl:when test="字:页眉_41F3/字:首页页眉_41F6"> |
| <style:header> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="字:页眉_41F3/字:首页页眉_41F6"/> |
| </xsl:call-template> |
| </style:header> |
| </xsl:when> |
| <xsl:otherwise> |
| <style:header> |
| <xsl:variable name="parastyle" select="key('uof-paragraph-styles',字:段落属性_419B/@式样引用_419C)"/> |
| <xsl:variable name="level"> |
| <xsl:choose> |
| <xsl:when test="$document_type = 'presentation'"> |
| <xsl:variable name="graphid" select="ancestor::图形:图形集_7C00/图:图形_8062/@标识符_804B"/> |
| <xsl:choose> |
| <xsl:when test="key('rel_graphic_name',$graphid)/uof:占位符_C626/@类型_C627='outline'"> |
| <xsl:variable name="outlinelevel"> |
| <xsl:choose> |
| <xsl:when test="./字:段落属性_419B/字:大纲级别_417C"> |
| <xsl:value-of select="./字:段落属性_419B/字:大纲级别_417C"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="LevelInOutline"> |
| <xsl:with-param name="parastyle" select="$parastyle"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$outlinelevel='F'"> |
| <xsl:call-template name="LevelInNumber"> |
| <xsl:with-param name="parastyle" select="$parastyle"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$outlinelevel"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="LevelInNumber"> |
| <xsl:with-param name="parastyle" select="$parastyle"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="LevelInNumber"> |
| <xsl:with-param name="parastyle" select="$parastyle"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="stylename"> |
| <xsl:choose> |
| <xsl:when test="number($level) > 0"> |
| <xsl:choose> |
| <xsl:when test="./字:段落属性_419B/字:自动编号信息_4186/@编号引用_4187"> |
| <xsl:value-of select="字:段落属性_419B/字:自动编号信息_4186/@编号引用_4187"/> |
| </xsl:when> |
| <xsl:when test="$parastyle/字:自动编号信息_4186/@编号引用_4187"> |
| <xsl:value-of select="$parastyle/字:自动编号信息_4186/@编号引用_4187"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="key('uof-number-styles',字:段落属性_419B/@式样引用_419C)"> |
| <xsl:value-of select="../@标识符_4169"/> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <text:p text:style-name="{$stylename}"/> |
| </style:header> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="字:页脚_41F7/字:首页页脚_41FA"> |
| <style:footer> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="字:页脚_41F7/字:首页页脚_41FA"/> |
| </xsl:call-template> |
| </style:footer> |
| </xsl:when> |
| <xsl:otherwise> |
| <style:footer> |
| <text:p text:style-name="Standard"/> |
| </style:footer> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </style:master-page> |
| </xsl:if> |
| <xsl:element name="style:master-page"> |
| <xsl:attribute name="style:name"><xsl:value-of select="$sectname"/></xsl:attribute> |
| <xsl:attribute name="style:page-layout-name"><xsl:value-of select="concat('layout-', $sectname)"/></xsl:attribute> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="$sectname"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="字:是否奇偶页页眉页脚不同_41ED='true'"> |
| <xsl:if test="字:页眉_41F3/字:奇数页页眉_41F4 or 字:页眉_41F3/字:偶数页页眉_41F5"> |
| <xsl:choose> |
| <xsl:when test="字:页眉_41F3/字:奇数页页眉_41F4"> |
| <style:header> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="字:页眉_41F3/字:奇数页页眉_41F4"/> |
| </xsl:call-template> |
| </style:header> |
| </xsl:when> |
| <xsl:otherwise> |
| <style:header> |
| <text:p text:style-name="Standard"/> |
| </style:header> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="字:页眉_41F3/字:偶数页页眉_41F5"> |
| <style:header-left> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="字:页眉_41F3/字:偶数页页眉_41F5"/> |
| </xsl:call-template> |
| </style:header-left> |
| </xsl:when> |
| <xsl:otherwise> |
| <style:header-left> |
| <text:p text:style-name="Standard"/> |
| </style:header-left> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="字:页脚_41F7/字:奇数页页脚_41F8 or 字:页脚_41F7/字:偶数页页脚_41F9"> |
| <xsl:choose> |
| <xsl:when test="字:页脚_41F7/字:奇数页页脚_41F8"> |
| <style:footer> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="字:页脚_41F7/字:奇数页页脚_41F8"/> |
| </xsl:call-template> |
| </style:footer> |
| </xsl:when> |
| <xsl:otherwise> |
| <style:footer> |
| <text:p text:style-name="Standard"/> |
| </style:footer> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="字:页脚_41F7/字:偶数页页脚_41F9"> |
| <style:footer-left> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="字:页脚_41F7/字:偶数页页脚_41F9"/> |
| </xsl:call-template> |
| </style:footer-left> |
| </xsl:when> |
| <xsl:otherwise> |
| <style:footer-left> |
| <text:p text:style-name="Standard"/> |
| </style:footer-left> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:if test="字:页眉_41F3/字:奇数页页眉_41F4"> |
| <style:header> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="字:页眉_41F3/字:奇数页页眉_41F4"/> |
| </xsl:call-template> |
| </style:header> |
| </xsl:if> |
| <xsl:if test="字:页脚_41F7/字:奇数页页脚_41F8"> |
| <style:footer> |
| <xsl:call-template name="TextContent"> |
| <xsl:with-param name="content" select="字:页脚_41F7/字:奇数页页脚_41F8"/> |
| </xsl:call-template> |
| </style:footer> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="OneColumn"> |
| <xsl:param name="onewidth"/> |
| <xsl:param name="gap"/> |
| <xsl:param name="count"/> |
| <xsl:param name="pos"/> |
| <xsl:if test="not($pos > $count)"> |
| <xsl:element name="style:column"> |
| <xsl:attribute name="style:rel-width"><xsl:value-of select="concat($onewidth, '*')"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="$pos = 1"> |
| <xsl:attribute name="fo:start-indent">0cm</xsl:attribute> |
| <xsl:attribute name="fo:end-indent"><xsl:value-of select="concat(number($gap) * 0.5,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$pos = $count"> |
| <xsl:attribute name="fo:start-indent"><xsl:value-of select="concat(number($gap) * 0.5,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:end-indent">0cm</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="fo:start-indent"><xsl:value-of select="concat(number($gap) * 0.5,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:end-indent"><xsl:value-of select="concat(number($gap) * 0.5,$uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| <xsl:call-template name="OneColumn"> |
| <xsl:with-param name="onewidth" select="$onewidth"/> |
| <xsl:with-param name="gap" select="$gap"/> |
| <xsl:with-param name="count" select="$count"/> |
| <xsl:with-param name="pos" select="$pos+1"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:分栏_4215"> |
| <xsl:param name="bodywidth"/> |
| <xsl:element name="style:columns"> |
| <xsl:attribute name="fo:column-count"><xsl:value-of select="字:栏数_41E8"/></xsl:attribute> |
| <xsl:variable name="aa" select="字:栏_41E0[position()=1]/@间距_41E2"/> |
| <xsl:if test="字:是否等宽_41E9='true' "> |
| <xsl:attribute name="fo:column-gap"><xsl:value-of select="concat($aa,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:分隔线_41E3/@分隔线线型_41E4 != '' and 字:分隔线_41E3/@分隔线线型_41E4 != 'none'"> |
| <xsl:element name="style:column-sep"> |
| <xsl:choose> |
| <xsl:when test="字:分隔线_41E3/@分隔线宽度_41E6 != ''"> |
| <xsl:attribute name="style:width"><xsl:value-of select="concat(字:分隔线_41E3/@分隔线宽度_41E6,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:color"><xsl:value-of select="'#000000'"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="字:分隔线_41E3/@分隔线颜色_41E7 != ''"> |
| <xsl:attribute name="style:color"><xsl:value-of select="字:分隔线_41E3/@分隔线颜色_41E7"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:color"><xsl:value-of select="'0.002cm'"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!-- 以下属性uof没有,其中style:vertical-align是require的 --> |
| <xsl:attribute name="style:height">100%</xsl:attribute> |
| <xsl:attribute name="style:vertical-align">top</xsl:attribute> |
| </xsl:element> |
| </xsl:if> |
| <xsl:variable name="bodywidthtwips" select="number(($bodywidth * $other-to-cm-conversion-factor * 1440) div 2.54)"/> |
| <xsl:variable name="count" select="字:栏数_41E8"/> |
| <xsl:choose> |
| <xsl:when test="字:是否等宽_41E9 and (字:是否等宽_41E9='true')"> |
| <xsl:variable name="onewidth" select="number($bodywidthtwips div $count)"/> |
| <xsl:variable name="gap"> |
| <xsl:choose> |
| <xsl:when test="字:栏_41E0[1]/@间距_41E2"> |
| <xsl:value-of select="number(字:栏_41E0[1]/@间距_41E2)"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="OneColumn"> |
| <xsl:with-param name="onewidth" select="round($onewidth)"/> |
| <xsl:with-param name="gap" select="$gap"/> |
| <xsl:with-param name="count" select="$count"/> |
| <xsl:with-param name="pos" select="1"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="字:栏_41E0"> |
| <xsl:element name="style:column"> |
| <xsl:variable name="width" select="number(@宽度_41E1)"/> |
| <xsl:variable name="gap1"> |
| <xsl:choose> |
| <xsl:when test="position() = 1">0</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(preceding-sibling::字:栏_41E0[1]/@间距_41E2) div 2"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="gap2"> |
| <xsl:choose> |
| <xsl:when test="position() = last()">0</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(@间距_41E2) div 2"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="onewidth" select="round(($width + $gap1 + $gap2) div $bodywidth * $bodywidthtwips)"/> |
| <xsl:attribute name="style:rel-width"><xsl:value-of select="concat($onewidth, '*')"/></xsl:attribute> |
| <xsl:attribute name="fo:start-indent"><xsl:value-of select="concat($gap1,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:end-indent"><xsl:value-of select="concat($gap2,$uofUnit)"/></xsl:attribute> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="字:填充_4134" mode="textpage"> |
| <xsl:call-template name="CommonFill"/> |
| </xsl:template> |
| <xsl:template match="字:边框_4133" mode="textpage"> |
| <xsl:if test="@阴影类型_C645 and @阴影类型_C645 !='' and @阴影类型_C645 !='none'"> |
| <xsl:choose> |
| <xsl:when test="@阴影类型_C645 = 'right-bottom'"> |
| <xsl:attribute name="style:shadow">#808080 5pt 5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'right-top'"> |
| <xsl:attribute name="style:shadow">#808080 5pt -5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'left-bottom'"> |
| <xsl:attribute name="style:shadow">#808080 -5pt 5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'left-top'"> |
| <xsl:attribute name="style:shadow">#808080 -5pt -5pt</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="uof:上_C614"/> |
| <xsl:with-param name="pDown" select="uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="uof:左_C613"/> |
| <xsl:with-param name="pRight" select="uof:右_C615"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template match="字:页码设置_4205"> |
| <xsl:variable name="format"> |
| <xsl:call-template name="NumberFormat"> |
| <xsl:with-param name="oo_format" select="@格式_4151"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="style:num-format"><xsl:value-of select="$format"/></xsl:attribute> |
| </xsl:template> |
| <xsl:template match="字:网格设置_420E"> |
| <xsl:param name="bodywidth"/> |
| <xsl:param name="bodyheight"/> |
| <xsl:if test="@网格类型_420F"> |
| <xsl:attribute name="style:layout-grid-mode"><xsl:choose><xsl:when test="@网格类型_420F='line-char'">both</xsl:when><xsl:when test="@网格类型_420F='char'">both</xsl:when><xsl:when test="@网格类型_420F='line'">line</xsl:when><xsl:when test="@网格类型_420F='none'">none</xsl:when></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@网格类型_420F = 'char'"> |
| <xsl:attribute name="style:layout-grid-snap-to-characters">true</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@网格类型_420F = 'line-char'"> |
| <xsl:attribute name="style:layout-grid-snap-to-characters">false</xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="IsType"> |
| <xsl:choose> |
| <xsl:when test="@字符数_4228 < 1 or @行数_4210 < 1"> |
| <xsl:value-of select="'WrongUOFType'"/> |
| </xsl:when> |
| <!--xsl:when test="@字:宽度 = '10.50' or @字:高度 = '15.60'"> |
| <xsl:value-of select="'WrongUOFType'"/> |
| </xsl:when> |
| <xsl:when test="@字:宽度 = '10.5' or @字:高度 = '15.6'"> |
| <xsl:value-of select="'WrongUOFType'"/> |
| </xsl:when> |
| <xsl:when test="@字:宽度 = '10.50' or @字:高度 = '15.06'"> |
| <xsl:value-of select="'WrongUOFType'"/> |
| </xsl:when--> |
| <xsl:otherwise> |
| <xsl:value-of select="'UOFType'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!-- SPECIAL --> |
| <xsl:choose> |
| <xsl:when test="$IsType = 'WrongUOFType'"> |
| <xsl:attribute name="style:layout-grid-base-width"><xsl:value-of select="concat(number(@字符数_4228),$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-lines"><xsl:value-of select="floor(($bodyheight) div number(@行数_4210))"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-base-height"><xsl:value-of select="concat(number(@行数_4210),$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$IsType = 'UOFType'"> |
| <xsl:variable name="modnum" select="number(1.0015)"/> |
| <xsl:variable name="gridwidth" select="$bodywidth div ceiling(@字符数_4228) div $modnum"/> |
| <xsl:variable name="gridheight" select="$bodyheight div ceiling(@行数_4210) div $modnum"/> |
| <xsl:variable name="gridline" select=" ceiling(@行数_4210)"/> |
| <xsl:if test="@字符数_4228 and @网格类型_420F != 'none' and @网格类型_420F != 'line'"> |
| <xsl:attribute name="style:layout-grid-base-width"><xsl:value-of select="concat($gridwidth,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@行数_4210 and @网格类型_420F != 'none'"> |
| <xsl:attribute name="style:layout-grid-lines"><xsl:value-of select="floor($gridline)"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-base-height"><xsl:value-of select="concat($gridheight,$uofUnit)"/></xsl:attribute> |
| <!--xsl:attribute name="style:layout-grid-base-height"><xsl:value-of select="concat($gridheight * $other-to-cm-conversion-factor, 'cm')"/></xsl:attribute--> |
| </xsl:if> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:attribute name="style:layout-grid-ruby-height"><xsl:value-of select="concat(0,$uofUnit)"/></xsl:attribute> |
| <xsl:if test="@是否显示网格_4211 = 'false'"> |
| <xsl:attribute name="style:layout-grid-display">false</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@是否打印网格_4212 = 'false' or not(@是否打印网格_4212)"> |
| <xsl:attribute name="style:layout-grid-print">false</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="字:稿纸设置_4216"> |
| <xsl:param name="bodywidth"/> |
| <xsl:param name="bodyheight"/> |
| <xsl:if test="@格式_4217"> |
| <xsl:choose> |
| <xsl:when test="@类型_4173='draft-paper'"> |
| <xsl:variable name="row"> |
| <xsl:choose> |
| <xsl:when test="@格式_4217 = 'first-gear'">10.2</xsl:when> |
| <xsl:when test="@格式_4217 = 'second-gear'">15.008</xsl:when> |
| <xsl:when test="@格式_4217 = 'third-gear'">20</xsl:when> |
| <xsl:when test="@格式_4217 = 'fourth-gear'">20.2</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="layout-grid-lines"> |
| <xsl:choose> |
| <xsl:when test="@格式_4217 = 'first-gear'">10</xsl:when> |
| <xsl:when test="@格式_4217 = 'second-gear'">15</xsl:when> |
| <xsl:when test="@格式_4217 = 'third-gear'">20</xsl:when> |
| <xsl:when test="@格式_4217 = 'fourth-gear'">20</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="column"> |
| <xsl:choose> |
| <xsl:when test="@格式_4217 = 'first-gear'">20.05</xsl:when> |
| <xsl:when test="@格式_4217 = 'second-gear'">20.05</xsl:when> |
| <xsl:when test="@格式_4217 = 'third-gear'">20.05</xsl:when> |
| <xsl:when test="@格式_4217 = 'fourth-gear'">25.02</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="basewidth"> |
| <xsl:value-of select="number($bodywidth) div number($column)"/> |
| </xsl:variable> |
| <xsl:variable name="allheight"> |
| <xsl:variable name="allheight1"> |
| <xsl:value-of select="number($bodyheight) div (number($layout-grid-lines) + 1)"/> |
| </xsl:variable> |
| <xsl:variable name="allheight2"> |
| <xsl:value-of select="number($bodyheight) div number($layout-grid-lines)"/> |
| </xsl:variable> |
| <xsl:value-of select="($allheight1 + $allheight2) * 0.5"/> |
| </xsl:variable> |
| <xsl:variable name="rubyheight"> |
| <xsl:value-of select="number($allheight) - number($basewidth)"/> |
| </xsl:variable> |
| <xsl:attribute name="style:layout-grid-base-width"><xsl:value-of select="concat($basewidth,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-base-height"><xsl:value-of select="concat($basewidth,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-ruby-height"><xsl:value-of select="concat($rubyheight,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-lines" select="$layout-grid-lines"/> |
| <xsl:attribute name="style:layout-grid-mode">both</xsl:attribute> |
| <xsl:attribute name="style:layout-grid-display">true</xsl:attribute> |
| <xsl:attribute name="style:layout-grid-print">true</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@类型_4173='letter-paper'"> |
| <xsl:variable name="RubyHeight"> |
| <xsl:choose> |
| <xsl:when test="@线型_4218='single-line'">0</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0.1 div $other-to-cm-conversion-factor)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="layout-grid-lines"> |
| <xsl:choose> |
| <xsl:when test="@格式_4217 = 'first-gear'">10</xsl:when> |
| <xsl:when test="@格式_4217 = 'second-gear'">15</xsl:when> |
| <xsl:when test="@格式_4217 = 'third-gear'">20</xsl:when> |
| <xsl:when test="@格式_4217 = 'fourth-gear'">24</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="row"> |
| <xsl:choose> |
| <xsl:when test="@格式_4217 = 'first-gear'">10.004</xsl:when> |
| <xsl:when test="@格式_4217 = 'second-gear'">15.008</xsl:when> |
| <xsl:when test="@格式_4217 = 'third-gear'">20.03</xsl:when> |
| <xsl:when test="@格式_4217 = 'fourth-gear'">24.01</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="layout-grid-base-height" select="($bodyheight div number($row)) - number($RubyHeight)"/> |
| <xsl:attribute name="style:layout-grid-base-height"><xsl:value-of select="concat($layout-grid-base-height,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-ruby-height"><xsl:value-of select="concat($RubyHeight,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-lines"><xsl:value-of select="$layout-grid-lines"/></xsl:attribute> |
| <xsl:attribute name="style:layout-grid-mode">line</xsl:attribute> |
| <xsl:attribute name="style:layout-grid-display">true</xsl:attribute> |
| <xsl:attribute name="style:layout-grid-print">true</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="@颜色_4219"> |
| <xsl:attribute name="style:layout-grid-color"><xsl:value-of select="@颜色_4219"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@方向_421A"> |
| <xsl:variable name="direction"> |
| <xsl:choose> |
| <xsl:when test="string(@方向_421A)='hori-l2r'">lr-tb</xsl:when> |
| <xsl:when test="string(@方向_421A)='hori-r2l'">tb-lr</xsl:when> |
| <xsl:when test="string(@方向_421A)='vert-l2r'">tb-lr</xsl:when> |
| <xsl:when test="string(@方向_421A)='vert-r2l'">tb-rl</xsl:when> |
| <xsl:otherwise>page</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:writing-mode"><xsl:value-of select="$direction"/></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="GetPageWidth"> |
| <xsl:choose> |
| <xsl:when test="字:纸张_41EC/@宽_C605"> |
| <xsl:value-of select="字:纸张_41EC/@宽_C605"/> |
| </xsl:when> |
| <xsl:when test="字:纸张方向_41FF = 'portrait'"> |
| <xsl:variable name="widthcm"> |
| <xsl:choose> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A3'">29.7</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A4'">21.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A5'">14.8</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'B4'">25.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'B5'">17.6</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'letter-small'">21.59</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'letter'">21.59</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-16K'">18.4</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-32K'">13.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-32K(Big)'">14.0</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="number($widthcm) div $other-to-cm-conversion-factor"/> |
| </xsl:when> |
| <xsl:when test="字:纸张方向_41FF = 'landscape'"> |
| <xsl:variable name="widthcm"> |
| <xsl:choose> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A3'">42.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A4'">29.7</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A5'">21.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'B4'">35.3</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'B5'">25.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'letter-small'">35.57</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'letter'">27.94</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-16K'">26.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-32K'">18.4</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-32K(Big)'">20.3</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="number($widthcm) div $other-to-cm-conversion-factor"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="GetPageHeight"> |
| <xsl:choose> |
| <xsl:when test="字:纸张_41EC/@长_C604"> |
| <xsl:value-of select="字:纸张_41EC/@长_C604"/> |
| </xsl:when> |
| <xsl:when test="字:纸张方向_41FF = 'portrait'"> |
| <xsl:variable name="heightcm"> |
| <xsl:choose> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A3'">42.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A4'">29.7</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A5'">21.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'B4'">35.3</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'B5'">25.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'letter-small'">35.57</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'letter'">27.94</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-16K'">26.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-32K'">18.4</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-32K(Big)'">20.3</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="number($heightcm) div $other-to-cm-conversion-factor"/> |
| </xsl:when> |
| <xsl:when test="字:纸张方向_41FF = 'landscape'"> |
| <xsl:variable name="heightcm"> |
| <xsl:choose> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A3'">29.7</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A4'">21.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'A5'">14.8</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'B4'">25.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'B5'">17.6</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'letter-small'">21.59</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'letter'">21.59</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-16K'">18.4</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-32K'">13.0</xsl:when> |
| <xsl:when test="字:纸张_41EC/@纸型_C60C = 'PRC-32K(Big)'">14.0</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="number($heightcm) div $other-to-cm-conversion-factor"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="PageLayoutStyle"> |
| <xsl:for-each select="/uof:UOF_0000/字:文字处理文档_4225/字:分节_416A/字:节属性_421B"> |
| <!-- |
| <xsl:variable name="sectname"> |
| <xsl:choose> |
| <xsl:when test="../@字:名称"> |
| <xsl:value-of select="../@字:名称"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="generate-id(..)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable>--> |
| <xsl:variable name="sectname"> |
| <xsl:value-of select="nsof:NeoShineOfficeID(..)"/> |
| </xsl:variable> |
| <xsl:if test="(position()>1) or ((position() = 1) and ($sectname != 'RoStandard'))"> |
| <xsl:element name="style:page-layout"> |
| <xsl:variable name="margintop"> |
| <xsl:choose> |
| <xsl:when test="字:页边距_41EB/@上_C609"> |
| <xsl:value-of select="字:页边距_41EB/@上_C609"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="convert2cm"> |
| <xsl:with-param name="value" select="'72pt'"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="marginbottom"> |
| <xsl:choose> |
| <xsl:when test="字:页边距_41EB/@下_C60B"> |
| <xsl:value-of select="字:页边距_41EB/@下_C60B"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="convert2cm"> |
| <xsl:with-param name="value" select="'72pt'"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="marginleft"> |
| <xsl:choose> |
| <xsl:when test="字:页边距_41EB/@左_C608"> |
| <xsl:value-of select="字:页边距_41EB/@左_C608"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="convert2cm"> |
| <xsl:with-param name="value" select="'90pt'"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="marginright"> |
| <xsl:choose> |
| <xsl:when test="字:页边距_41EB/@右_C60A"> |
| <xsl:value-of select="字:页边距_41EB/@右_C60A"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="convert2cm"> |
| <xsl:with-param name="value" select="'90pt'"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="padtop"> |
| <xsl:choose> |
| <xsl:when test="字:边框_4133/uof:上_C614/@边距_C610"> |
| <xsl:value-of select="字:边框_4133/uof:上_C614/@边距_C610"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="padbottom"> |
| <xsl:choose> |
| <xsl:when test="字:边框_4133/uof:下_C616/@边距_C610"> |
| <xsl:value-of select="字:边框_4133/uof:下_C616/@边距_C610"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="padleft"> |
| <xsl:choose> |
| <xsl:when test="字:边框_4133/uof:左_C613/@边距_C610"> |
| <xsl:value-of select="字:边框_4133/uof:左_C613/@边距_C610"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="padright"> |
| <xsl:choose> |
| <xsl:when test="字:边框_4133/uof:右_C615/@边距_C610"> |
| <xsl:value-of select="字:边框_4133/uof:右_C615/@边距_C610"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="headerpos"> |
| <xsl:choose> |
| <xsl:when test="字:页眉位置_41EF/@距边界_41F0"> |
| <xsl:value-of select="字:页眉位置_41EF/@距边界_41F0"/> |
| </xsl:when> |
| <xsl:when test="字:页眉位置_41EF/@距版芯_41F1"> |
| <xsl:value-of select="number($margintop)-number(字:页眉位置_41EF/@距版芯_41F1)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="footerpos"> |
| <xsl:choose> |
| <xsl:when test="字:页脚位置_41F2/@距边界_41F0"> |
| <xsl:value-of select="字:页脚位置_41F2/@距边界_41F0"/> |
| </xsl:when> |
| <xsl:when test="字:页脚位置_41F2/@距版芯_41F1"> |
| <xsl:value-of select="number($marginbottom)-number(字:页脚位置_41F2/@距版芯_41F1)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(0)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('layout-', $sectname)"/></xsl:attribute> |
| <xsl:if test="字:是否对称页边距_41FD='true' or 字:是否对称页边距_41FD='1'"> |
| <xsl:attribute name="style:page-usage">mirrored</xsl:attribute> |
| </xsl:if> |
| <xsl:element name="style:page-layout-properties"> |
| <xsl:if test="字:纸张方向_41FF"> |
| <xsl:attribute name="style:print-orientation"><xsl:value-of select="字:纸张方向_41FF"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="direction"> |
| <xsl:choose> |
| <xsl:when test="string(字:文字排列方向_4214)='t2b-l2r-0e-0w'">lr-tb</xsl:when> |
| <xsl:when test="string(字:文字排列方向_4214)='t2b-r2l-0e-0w'">rl-tb</xsl:when> |
| <xsl:when test="string(字:文字排列方向_4214)='t2b-r2l-0e-90w'">rl-tb</xsl:when> |
| <xsl:when test="string(字:文字排列方向_4214)='r2l-t2b-90e-90w'">tb-rl</xsl:when> |
| <xsl:when test="string(字:文字排列方向_4214)='r2l-t2b-0e-90w'">tb-rl</xsl:when> |
| <xsl:when test="string(字:文字排列方向_4214)='l2r-b2t-270e-270w'">tb-lr</xsl:when> |
| <xsl:otherwise>page</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:writing-mode"><xsl:value-of select="$direction"/></xsl:attribute> |
| <xsl:variable name="pagewidth"> |
| <xsl:call-template name="GetPageWidth"/> |
| </xsl:variable> |
| <xsl:variable name="pageheight"> |
| <xsl:call-template name="GetPageHeight"/> |
| </xsl:variable> |
| <xsl:attribute name="fo:page-width"><xsl:value-of select="concat(number($pagewidth), $uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:page-height"><xsl:value-of select="concat(number($pageheight), $uofUnit)"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="$headerpos=0 and $padtop=0"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat($margintop,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$padtop=0"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat($headerpos,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$headerpos=0"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat($margintop - $padtop,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:padding-top"><xsl:value-of select="concat($margintop - $padtop,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="$headerpos < $padtop"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat($headerpos,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat($headerpos - $padtop,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:padding-top"><xsl:value-of select="concat($headerpos - $padtop,$uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$footerpos=0 and $padbottom=0"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat($marginbottom,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$padtop=0"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat($footerpos,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$footerpos=0"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat($marginbottom - $padbottom,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:padding-bottom"><xsl:value-of select="concat($marginbottom - $padbottom,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="$footerpos < $padbottom"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat($footerpos,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat($footerpos - $padbottom,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:padding-bottom"><xsl:value-of select="concat($footerpos - $padbottom,$uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$padleft=0"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat($marginleft,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat($marginleft - $padleft,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:padding-left"><xsl:value-of select="concat($marginleft - $padleft,$uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$padright=0"> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat($marginright,$uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat($marginright - $padright,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:padding-right"><xsl:value-of select="concat($marginright - $padright,$uofUnit)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="字:装订线_41FB/@位置_4150"> |
| <xsl:attribute name="style:gutter-location"><xsl:value-of select="字:装订线_41FB/@位置_4150"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:装订线_41FB/@距边界_41FC"> |
| <xsl:attribute name="style:gutter-margin"><xsl:value-of select="concat(字:装订线_41FB/@距边界_41FC,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="bodywidth"> |
| <xsl:value-of select="number($pagewidth) - number($marginleft) - number($marginright)"/> |
| </xsl:variable> |
| <xsl:variable name="bodyheight"> |
| <xsl:value-of select="number($pageheight) - number($margintop) - number($marginbottom)"/> |
| </xsl:variable> |
| <xsl:if test="字:边框_4133"> |
| <xsl:apply-templates select="字:边框_4133" mode="textpage"> |
| <xsl:with-param name="bodywidth" select="$bodywidth"/> |
| </xsl:apply-templates> |
| </xsl:if> |
| <xsl:if test="字:纸张来源_4200/@其他页_4202"> |
| <xsl:attribute name="style:paper-tray-name"><xsl:value-of select="字:纸张来源_4200/@其他页_4202"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:网格设置_420E"> |
| <xsl:apply-templates select="字:网格设置_420E"> |
| <xsl:with-param name="bodywidth" select="$bodywidth"/> |
| <xsl:with-param name="bodyheight" select="$bodyheight"/> |
| </xsl:apply-templates> |
| </xsl:if> |
| <xsl:if test="字:垂直对齐方式_4213"> |
| <xsl:attribute name="style:vertical-align"><xsl:value-of select="字:垂直对齐方式_4213"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="字:稿纸设置_4216"> |
| <xsl:apply-templates select="字:稿纸设置_4216"> |
| <xsl:with-param name="bodywidth"> |
| <xsl:choose> |
| <xsl:when test="字:稿纸设置_4216/@方向_421A = 'hori-l2r'"> |
| <xsl:value-of select="$bodywidth"/> |
| </xsl:when> |
| <xsl:when test="字:稿纸设置_4216/@方向_421A = 'hori-r2l'"> |
| <xsl:value-of select="$bodyheight"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$bodywidth"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="bodyheight"> |
| <xsl:choose> |
| <xsl:when test="字:稿纸设置_4216/@方向_421A = 'hori-l2r'"> |
| <xsl:value-of select="$bodyheight"/> |
| </xsl:when> |
| <xsl:when test="字:稿纸设置_4216/@方向_421A = 'hori-r2l'"> |
| <xsl:value-of select="$bodywidth"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$bodyheight"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| </xsl:apply-templates> |
| </xsl:if> |
| <xsl:if test="字:分栏_4215/字:栏数_41E8"> |
| <xsl:apply-templates select="字:分栏_4215"> |
| <xsl:with-param name="bodywidth" select="number($bodywidth)"/> |
| </xsl:apply-templates> |
| </xsl:if> |
| <xsl:if test="字:填充_4134"> |
| <xsl:apply-templates select="字:填充_4134" mode="textpage"/> |
| </xsl:if> |
| </xsl:element> |
| <xsl:if test="字:页眉位置_41EF"> |
| <style:header-style> |
| <xsl:element name="style:header-footer-properties"> |
| <xsl:variable name="min_height"> |
| <xsl:value-of select="$margintop - $headerpos"/> |
| </xsl:variable> |
| <xsl:attribute name="fo:min-height"><xsl:value-of select="concat($min_height, $uofUnit)"/></xsl:attribute> |
| <xsl:if test="字:页眉位置_41EF/@距版芯_41F1"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat(字:页眉位置_41EF/@距版芯_41F1,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="style:dynamic-spacing">true</xsl:attribute> |
| </xsl:element> |
| </style:header-style> |
| </xsl:if> |
| <xsl:if test="字:页脚位置_41F2"> |
| <style:footer-style> |
| <xsl:element name="style:header-footer-properties"> |
| <xsl:variable name="min_height"> |
| <xsl:value-of select="$marginbottom - $footerpos"/> |
| </xsl:variable> |
| <xsl:attribute name="fo:min-height"><xsl:value-of select="concat($min_height,$uofUnit)"/></xsl:attribute> |
| <xsl:if test="字:页脚位置_41F2/@距版芯_41F1"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat(字:页脚位置_41F2/@距版芯_41F1,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="style:dynamic-spacing">true</xsl:attribute> |
| </xsl:element> |
| </style:footer-style> |
| </xsl:if> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="transform-hex-to-decimal"> |
| <xsl:param name="number"/> |
| <xsl:variable name="R-color-number"> |
| <xsl:call-template name="color-hex-to-decimal"> |
| <xsl:with-param name="chars" select="substring($number[1],2,2)"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="G-color-number"> |
| <xsl:call-template name="color-hex-to-decimal"> |
| <xsl:with-param name="chars" select="substring($number[1],4,2)"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="B-color-number"> |
| <xsl:call-template name="color-hex-to-decimal"> |
| <xsl:with-param name="chars" select="substring($number[1],6,2)"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:value-of select="format-number($R-color-number * 65536 + $G-color-number * 256 + $B-color-number,'#')"/> |
| </xsl:template> |
| <xsl:template name="color-hex-to-decimal"> |
| <xsl:param name="chars"/> |
| <xsl:variable name="first-num"> |
| <xsl:call-template name="hex-to-decimal"> |
| <xsl:with-param name="char" select="substring($chars,1,1)"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="second-num"> |
| <xsl:call-template name="hex-to-decimal"> |
| <xsl:with-param name="char" select="substring($chars,2,1)"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:value-of select="number($first-num) *16 + number($second-num)"/> |
| </xsl:template> |
| <xsl:template name="hex-to-decimal"> |
| <xsl:param name="char"/> |
| <xsl:choose> |
| <xsl:when test="$char='0'">0</xsl:when> |
| <xsl:when test="$char='1'">1</xsl:when> |
| <xsl:when test="$char='2'">2</xsl:when> |
| <xsl:when test="$char='3'">3</xsl:when> |
| <xsl:when test="$char='4'">4</xsl:when> |
| <xsl:when test="$char='5'">5</xsl:when> |
| <xsl:when test="$char='6'">6</xsl:when> |
| <xsl:when test="$char='7'">7</xsl:when> |
| <xsl:when test="$char='8'">8</xsl:when> |
| <xsl:when test="$char='9'">9</xsl:when> |
| <xsl:when test="$char='a'">10</xsl:when> |
| <xsl:when test="$char='b'">11</xsl:when> |
| <xsl:when test="$char='c'">12</xsl:when> |
| <xsl:when test="$char='d'">13</xsl:when> |
| <xsl:when test="$char='e'">14</xsl:when> |
| <xsl:when test="$char='f'">15</xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="OfficeSettingsSpreadsheet"> |
| <xsl:variable name="sheetprop" select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825"/> |
| <config:config-item-set config:name="ooo:view-settings"> |
| <xsl:variable name="ratio" select="15"/> |
| <xsl:if test="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表内容_E80E/表:行_E7F1/表:单元格_E7F2/表:数据_E7B3/字:句_419D/字:修订开始_421F"> |
| <config:config-item-set config:name="TrackedChangesViewSettings"> |
| <config:config-item config:name="ShowChanges" config:type="boolean">true</config:config-item> |
| <config:config-item config:name="ShowAcceptedChanges" config:type="boolean">false</config:config-item> |
| <config:config-item config:name="ShowRejectedChanges" config:type="boolean">false</config:config-item> |
| <config:config-item config:name="ShowChangesByDatetime" config:type="boolean">false</config:config-item> |
| <config:config-item config:name="ShowChangesByDatetimeMode" config:type="short">0</config:config-item> |
| <config:config-item config:name="ShowChangesByDatetimeFirstDatetime" config:type="datetime">2007-01-17T10:56:46.21</config:config-item> |
| <config:config-item config:name="ShowChangesByDatetimeSecondDatetime" config:type="datetime">2007-01-17T10:56:46.21</config:config-item> |
| <config:config-item config:name="ShowChangesByAuthor" config:type="boolean">false</config:config-item> |
| <config:config-item config:name="ShowChangesByAuthorName" config:type="string"/> |
| <config:config-item config:name="ShowChangesByComment" config:type="boolean">false</config:config-item> |
| <config:config-item config:name="ShowChangesByCommentText" config:type="string"/> |
| <config:config-item config:name="ShowChangesByRanges" config:type="boolean">false</config:config-item> |
| <config:config-item config:name="ShowChangesByRangesList" config:type="string"/> |
| </config:config-item-set> |
| </xsl:if> |
| <config:config-item-map-indexed config:name="Views"> |
| <config:config-item-map-entry> |
| <config:config-item config:name="ViewId" config:type="string">View1</config:config-item> |
| <config:config-item-map-named config:name="Tables"> |
| <xsl:element name="config:config-item-map-entry"> |
| <xsl:attribute name="config:name"><xsl:value-of select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/@名称_E822"/></xsl:attribute> |
| <xsl:if test="not(/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表属性_E80D/表:视图_E7D5/表:缩放_E7C4)"> |
| <config:config-item config:name="ZoomValue" config:type="int">100</config:config-item> |
| </xsl:if> |
| <xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表属性_E80D"> |
| <xsl:for-each select="表:视图_E7D5"> |
| <xsl:if test="./表:选中区域_E7E2"> |
| <xsl:variable name="WorkingTableName" select="../../@名称_E822"/> |
| <xsl:variable name="position" select="./表:选中区域_E7E2"/> |
| <xsl:variable name="currentX"> |
| <xsl:variable name="CursorX" select="substring-before(substring-after($position,'$'),'$')"/> |
| <xsl:call-template name="character-to-number"> |
| <xsl:with-param name="character" select="$CursorX"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <config:config-item config:name="CursorPositionX" config:type="int"> |
| <xsl:value-of select="number($currentX) - 1"/> |
| </config:config-item> |
| <xsl:variable name="CursorY" select="substring-after(substring-after($position,'$'),'$')"/> |
| <config:config-item config:name="CursorPositionY" config:type="int"> |
| <xsl:value-of select="number($CursorY) - 1"/> |
| </config:config-item> |
| </xsl:if> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">HorizontalSplitMode</xsl:attribute> |
| <xsl:attribute name="config:type">short</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="表:冻结_E7D8 and 表:冻结_E7D8/@列号_E7DA!=0">2</xsl:when> |
| <xsl:when test="表:冻结_E7D8 and 表:冻结_E7D8/@列号_E7DA=0">0</xsl:when> |
| <xsl:when test="表:拆分_E7D7 and 表:拆分_E7D7/@宽_C605!=0">1</xsl:when> |
| <xsl:when test="表:拆分_E7D7 and 表:拆分_E7D7/@宽_C605=0">0</xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">VerticalSplitMode</xsl:attribute> |
| <xsl:attribute name="config:type">short</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="表:冻结_E7D8 and 表:冻结_E7D8/@行号_E7D9!=0">2</xsl:when> |
| <xsl:when test="表:冻结_E7D8 and 表:冻结_E7D8/@行号_E7D9=0">0</xsl:when> |
| <xsl:when test="表:拆分_E7D7 and 表:拆分_E7D7/@长_C604!=0">1</xsl:when> |
| <xsl:when test="表:拆分_E7D7 and 表:拆分_E7D7/@长_C604=0">0</xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">HorizontalSplitPosition</xsl:attribute> |
| <xsl:attribute name="config:type">int</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="表:冻结_E7D8 and 表:冻结_E7D8/@列号_E7DA=0">0</xsl:when> |
| <xsl:when test="表:冻结_E7D8 and 表:冻结_E7D8/@列号_E7DA!=0"> |
| <xsl:value-of select="表:冻结_E7D8/@列号_E7DA"/> |
| </xsl:when> |
| <xsl:when test="表:拆分_E7D7 and 表:拆分_E7D7/@宽_C605=0">0</xsl:when> |
| <xsl:when test="表:拆分_E7D7 and 表:拆分_E7D7/@宽_C605!=0"> |
| <xsl:value-of select="表:拆分_E7D7/@宽_C605"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">VerticalSplitPosition</xsl:attribute> |
| <xsl:attribute name="config:type">int</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="表:冻结_E7D8 and 表:冻结_E7D8/@行号_E7D9=0">0</xsl:when> |
| <xsl:when test="表:冻结_E7D8 and 表:冻结_E7D8/@行号_E7D9!=0"> |
| <xsl:value-of select="表:冻结_E7D8/@行号_E7D9"/> |
| </xsl:when> |
| <xsl:when test="表:拆分_E7D7 and 表:拆分_E7D7/@长_C604=0">0</xsl:when> |
| <xsl:when test="表:拆分_E7D7 and 表:拆分_E7D7/@长_C604!=0"> |
| <xsl:value-of select="表:拆分_E7D7/@长_C604"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| <xsl:variable name="position-top"> |
| <xsl:choose> |
| <xsl:when test="表:最上行_E7DB"> |
| <xsl:value-of select="number(表:最上行_E7DB) -1"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="position-left"> |
| <xsl:choose> |
| <xsl:when test="表:最左列_E7DC"> |
| <xsl:value-of select="表:最左列_E7DC - 1"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <config:config-item config:name="PositionLeft" config:type="int"> |
| <xsl:value-of select="$position-left"/> |
| </config:config-item> |
| <config:config-item config:name="PositionBottom" config:type="int"> |
| <xsl:value-of select="$position-top"/> |
| </config:config-item> |
| <!--xsl:if test="表:当前视图"> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">ShowPageBreakPreview</xsl:attribute> |
| <xsl:attribute name="config:type">boolean</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="表:当前视图/@表:类型='normal'">false</xsl:when> |
| |
| <xsl:when test="表:当前视图/@表:类型='page'">true</xsl:when> |
| |
| <xsl:otherwise>true</xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if--> |
| <xsl:if test="表:是否选中_E7D6"> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">ActiveTable</xsl:attribute> |
| <xsl:attribute name="config:type">string</xsl:attribute> |
| <xsl:value-of select="$sheetprop/表:工作表属性_E80D/表:视图_E7D5[表:是否选中_E7D6]/ancestor::表:工作表_E825/@名称_E822"/> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="表:缩放_E7C4"> |
| <config:config-item config:name="ZoomValue" config:type="int"> |
| <xsl:value-of select="表:缩放_E7C4"/> |
| </config:config-item> |
| </xsl:if> |
| <xsl:if test="表:分页缩放_E7E1 or 表:缩放_E7C4"> |
| <config:config-item config:name="PageViewZoomValue" config:type="int"> |
| <xsl:choose> |
| <xsl:when test="表:分页缩放_E7E1"> |
| <xsl:value-of select="表:分页缩放_E7E1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="表:缩放_E7C4"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </config:config-item> |
| </xsl:if> |
| <config:config-item config:name="HasColumnRowHeaders" config:type="boolean"> |
| <xsl:choose> |
| <xsl:when test="表:是否显示行号列标_E7E3='true'">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </config:config-item> |
| </xsl:for-each> |
| <xsl:if test="表:标签背景色_E7C0"> |
| <config:config-item config:name="sctabcolor" config:type="long"> |
| <xsl:value-of select="substring-after(表:标签背景色_E7C0,'#')"/> |
| </config:config-item> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:element> |
| </config:config-item-map-named> |
| <xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表属性_E80D/表:视图_E7D5"> |
| <xsl:if test="表:当前视图类型_E7DD"> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">ShowPageBreakPreview</xsl:attribute> |
| <xsl:attribute name="config:type">boolean</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="表:当前视图类型_E7DD='normal'">false</xsl:when> |
| <xsl:when test="表:当前视图类型_E7DD='page'">true</xsl:when> |
| <xsl:otherwise>true</xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="表:是否显示网格_E7DF"> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">ShowGrid</xsl:attribute> |
| <xsl:attribute name="config:type">boolean</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="string(表:是否显示网格_E7DF)='1' or string(表:是否显示网格_E7DF)='true'">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="表:网格颜色_E7E0 and 表:网格颜色_E7E0 != ''"> |
| <xsl:element name="config:config-item"> |
| <xsl:attribute name="config:name">GridColor</xsl:attribute> |
| <xsl:attribute name="config:type">long</xsl:attribute> |
| <xsl:call-template name="transform-hex-to-decimal"> |
| <xsl:with-param name="number" select="表:网格颜色_E7E0/text()"/> |
| </xsl:call-template> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825[string(表:工作表属性_E80D/表:视图_E7D5/表:是否选中_E7D6) = 'true' or string(表:工作表属性_E80D/表:视图_E7D5/表:是否选中_E7D6) = '1']"> |
| <config:config-item config:name="ActiveTable" config:type="string"> |
| <xsl:value-of select="@名称_E822"/> |
| </config:config-item> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:是否显示工作表标签_B635"> |
| <xsl:choose> |
| <xsl:when test=".='false'"> |
| <config:config-item config:name="HasSheetTabs" config:type="boolean">false</config:config-item> |
| </xsl:when> |
| <xsl:otherwise> |
| <config:config-item config:name="HasSheetTabs" config:type="boolean">true</config:config-item> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </config:config-item-map-entry> |
| </config:config-item-map-indexed> |
| </config:config-item-set> |
| <config:config-item-set config:name="ooo:configuration-settings"> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:是否自动重算_B638"> |
| <xsl:choose> |
| <xsl:when test="false"> |
| <config:config-item config:name="AutoCalculate" config:type="boolean">false</config:config-item> |
| </xsl:when> |
| <xsl:otherwise> |
| <config:config-item config:name="AutoCalculate" config:type="boolean">true</config:config-item> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:是否显示工作表标签_B635"> |
| <xsl:choose> |
| <xsl:when test=".='false'"> |
| <config:config-item config:name="HasSheetTabs" config:type="boolean">false</config:config-item> |
| </xsl:when> |
| <xsl:otherwise> |
| <config:config-item config:name="HasSheetTabs" config:type="boolean">true</config:config-item> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </config:config-item-set> |
| </xsl:template> |
| <xsl:template name="print_fun"> |
| <xsl:param name="saGrid"/> |
| <xsl:param name="saHeaders"/> |
| <xsl:param name="saAnnotations"/> |
| <xsl:if test="$saGrid != ''"> |
| <xsl:value-of select="'grid '"/> |
| </xsl:if> |
| <xsl:if test="$saHeaders != ''"> |
| <xsl:value-of select="'headers '"/> |
| </xsl:if> |
| <xsl:if test="$saAnnotations != ''"> |
| <xsl:value-of select="'annotations '"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="ScPageLayoutStyle"> |
| <xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表属性_E80D"> |
| <xsl:if test="表:页面设置_E7C1"> |
| <xsl:element name="style:page-layout"> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:element name="style:page-layout-properties"> |
| <xsl:variable name="marginTop"> |
| <xsl:choose> |
| <xsl:when test="$uofUnit = 'pt' and 表:页面设置_E7C1/表:页眉页脚_E7C6"> |
| <xsl:value-of select="number(表:页面设置_E7C1/表:页边距_E7C5/@上_C609) - 21.29"/> |
| </xsl:when> |
| <xsl:when test="$uofUnit = 'cm' and 表:页面设置_E7C1/表:页眉页脚_E7C6"> |
| <xsl:value-of select="number(表:页面设置_E7C1/表:页边距_E7C5/@上_C609) - 0.751"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="表:页面设置_E7C1/表:页边距_E7C5/@上_C609"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="marginBottom"> |
| <xsl:choose> |
| <xsl:when test="$uofUnit = 'pt' and 表:页面设置_E7C1/表:页眉页脚_E7C6"> |
| <xsl:value-of select="number(表:页面设置_E7C1/表:页边距_E7C5/@下_C60B) - 21.29"/> |
| </xsl:when> |
| <xsl:when test="$uofUnit = 'cm' and 表:页面设置_E7C1/表:页眉页脚_E7C6"> |
| <xsl:value-of select="number(表:页面设置_E7C1/表:页边距_E7C5/@下_C60B) - 0.751"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="表:页面设置_E7C1/表:页边距_E7C5/@下_C60B"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="表:页面设置_E7C1/表:页边距_E7C5/@左_C608"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(表:页面设置_E7C1/表:页边距_E7C5/@左_C608,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:页面设置_E7C1/表:页边距_E7C5/@右_C60A"> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat(表:页面设置_E7C1/表:页边距_E7C5/@右_C60A,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:页面设置_E7C1/表:页边距_E7C5/@上_C609"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat(string($marginTop),$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:页面设置_E7C1/表:页边距_E7C5/@下_C60B"> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat(string($marginBottom),$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:页面设置_E7C1/表:缩放_E7C4"> |
| <xsl:attribute name="style:scale-to"><xsl:value-of select="concat(表:页面设置_E7C1/表:缩放_E7C4,'%')"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="pagewidth"> |
| <xsl:choose> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'A3'">29.7</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'A4'">21.0</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'A5'">14.8</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'B4'">25.0</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'B5'">17.6</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'letter-small'">9.2</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'letter'">21.59</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'PRC-16K'">18.4</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'PRC-32K'">13.0</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'PRC-32K(Big)'">14.0</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="pageheight"> |
| <xsl:choose> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'A3'">42.0</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'A4'">29.7</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'A5'">21.0</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'B4'">35.3</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'B5'">25.0</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'letter-small'">16.5</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'letter'">27.94</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'PRC-16K'">26.0</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'PRC-32K'">18.4</xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C = 'PRC-32K(Big)'">20.3</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="page-width"> |
| <xsl:choose> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C and 表:页面设置_E7C1/表:纸张方向_E7C3 = 'portrait'"> |
| <xsl:value-of select="$pagewidth"/> |
| </xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C and 表:页面设置_E7C1/表:纸张方向_E7C3 = 'landscape'"> |
| <xsl:value-of select="$pageheight"/> |
| </xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@宽_C605"> |
| <!--xsl:value-of select="convertOthers2cm(表:页面设置_E7C1/表:纸张_E7C2/@宽_C605,$uofUnit)"/--> |
| <xsl:call-template name="convertOthers2cm"> |
| <xsl:with-param name="value" select="concat(表:页面设置_E7C1/表:纸张_E7C2/@宽_C605,$uofUnit)"/> |
| </xsl:call-template> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="page-height"> |
| <xsl:choose> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C and 表:页面设置_E7C1/表:纸张方向_E7C3 = 'portrait'"> |
| <xsl:value-of select="$pageheight"/> |
| </xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@纸型_C60C and 表:页面设置_E7C1/表:纸张方向_E7C3 = 'landscape'"> |
| <xsl:value-of select="$pagewidth"/> |
| </xsl:when> |
| <xsl:when test="表:页面设置_E7C1/表:纸张_E7C2/@长_C604"> |
| <!--xsl:value-of select="convertOthers2cm(表:页面设置_E7C1/表:纸张_E7C2/@长_C604,$uofUnit)"/--> |
| <xsl:call-template name="convertOthers2cm"> |
| <xsl:with-param name="value" select="concat(表:页面设置_E7C1/表:纸张_E7C2/@长_C604,$uofUnit)"/> |
| </xsl:call-template> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="wPage"> |
| <xsl:if test="$page-width != ''"> |
| <xsl:choose> |
| <xsl:when test="number($page-width) < 21.69 and number($page-width) > 21.49 and number($page-height) < 28.04 and number($page-height) > 27.84"> |
| <xsl:value-of select="'21.59'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 9.31 and number($page-width) > 9.11 and number($page-height) < 16.61 and number($page-height) > 16.41"> |
| <xsl:value-of select="'9.21'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 16.61 and number($page-width) > 16.41 and number($page-height) < 9.31 and number($page-height) > 9.11"> |
| <xsl:value-of select="'16.51'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 29.8 and number($page-width) > 29.6 and number($page-height) < 42.1 and number($page-height) > 41.9"> |
| <xsl:value-of select="'29.7'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 21.1 and number($page-width) > 20.9 and number($page-height) < 29.6 and number($page-height) > 29.8"> |
| <xsl:value-of select="'21.0'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 14.9 and number($page-width) > 14.7 and number($page-height) < 21.1 and number($page-height) > 20.9"> |
| <xsl:value-of select="'14.8'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 25.8 and number($page-width) > 25.6 and number($page-height) < 36.5 and number($page-height) > 36.3"> |
| <xsl:value-of select="'25.7'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 18.3 and number($page-width) > 18.1 and number($page-height) < 25.8 and number($page-height) > 25.6"> |
| <xsl:value-of select="'18.2'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 18.5 and number($page-width) > 18.3 and number($page-height) < 26.1 and number($page-height) > 25.9"> |
| <xsl:value-of select="'18.4'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 13.1 and number($page-width) > 12.9 and number($page-height) < 18.5 and number($page-height) > 18.3"> |
| <xsl:value-of select="'13.0'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 14.1 and number($page-width) > 13.9 and number($page-height) < 20.4 and number($page-height) > 20.2"> |
| <xsl:value-of select="'14.0'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$page-width"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:attribute name="fo:page-width"><xsl:choose><xsl:when test="$wPage!=''"><xsl:value-of select="concat($wPage,'cm')"/></xsl:when><xsl:otherwise><xsl:value-of select="'21.0cm'"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:variable name="hPage"> |
| <xsl:if test="$page-height != ''"> |
| <xsl:choose> |
| <xsl:when test="number($page-width) < 21.69 and number($page-width) > 21.49 and number($page-height) < 28.04 and number($page-height) > 27.84"> |
| <xsl:value-of select="'27.94'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 9.31 and number($page-width) > 9.11 and number($page-height) < 16.61 and number($page-height) > 16.41"> |
| <xsl:value-of select="'16.51'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 16.61 and number($page-width) > 16.41 and number($page-height) < 9.31 and number($page-height) > 9.11"> |
| <xsl:value-of select="'9.21'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 29.8 and number($page-width) > 29.6 and number($page-height) < 42.1 and number($page-height) > 41.9"> |
| <xsl:value-of select="'42.0'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 21.1 and number($page-width) > 20.9 and number($page-height) < 29.6 and number($page-height) > 29.8"> |
| <xsl:value-of select="'29.7'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 14.9 and number($page-width) > 14.7 and number($page-height) < 21.1 and number($page-height) > 20.9"> |
| <xsl:value-of select="'21.0'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 25.8 and number($page-width) > 25.6 and number($page-height) < 36.5 and number($page-height) > 36.3"> |
| <xsl:value-of select="'36.4'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 18.3 and number($page-width) > 18.1 and number($page-height) < 25.8 and number($page-height) > 25.6"> |
| <xsl:value-of select="'25.7'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 18.5 and number($page-width) > 18.3 and number($page-height) < 26.1 and number($page-height) > 25.9"> |
| <xsl:value-of select="'26.0'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 13.1 and number($page-width) > 12.9 and number($page-height) < 18.5 and number($page-height) > 18.3"> |
| <xsl:value-of select="'18.4'"/> |
| </xsl:when> |
| <xsl:when test="number($page-width) < 14.1 and number($page-width) > 13.9 and number($page-height) < 20.4 and number($page-height) > 20.2"> |
| <xsl:value-of select="'20.3'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$page-height"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:attribute name="fo:page-height"><xsl:choose><xsl:when test="$hPage!=''"><xsl:value-of select="concat($hPage,'cm')"/></xsl:when><xsl:otherwise><xsl:value-of select="'29.7cm'"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:if test="表:页面设置_E7C1/表:纸张方向_E7C3"> |
| <xsl:attribute name="style:print-orientation"><xsl:value-of select="表:页面设置_E7C1/表:纸张方向_E7C3"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(表:页面设置_E7C1/表:打印_E7CA/@是否先列后行_E7CE) = '0' or string(表:页面设置_E7C1/表:打印_E7CA/@是否先列后行_E7CE) = 'false'"> |
| <xsl:attribute name="style:print-page-order">ltr</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(表:页面设置_E7C1/表:垂直对齐方式_E701) = 'center' and string(表:页面设置_E7C1/表:水平对齐方式_E700) = 'center'"> |
| <xsl:attribute name="style:table-centering">both</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(表:页面设置_E7C1/表:水平对齐方式_E700) = 'left' and string(表:页面设置_E7C1/表:垂直对齐方式_E701) = 'center'"> |
| <xsl:attribute name="style:table-centering">vertical</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(表:页面设置_E7C1/表:水平对齐方式_E700) = 'center' and string(表:页面设置_E7C1/表:垂直对齐方式_E701) = 'top'"> |
| <xsl:attribute name="style:table-centering">horizontal</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:页面设置_E7C1/表:调整_E7D1/@页高倍数_E7D2"> |
| <xsl:attribute name="style:scale-to-X"><xsl:value-of select="表:页面设置_E7C1/表:调整_E7D1/@页高倍数_E7D2"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:页面设置_E7C1/表:调整_E7D1/@页宽倍数_E7D3"> |
| <xsl:attribute name="style:scale-to-Y"><xsl:value-of select="表:页面设置_E7C1/表:调整_E7D1/@页宽倍数_E7D3"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="saGrid"> |
| <xsl:choose> |
| <xsl:when test="表:页面设置_E7C1/表:打印_E7CA/@是否带网格线_E7CB = 'true' or number(表:页面设置_E7C1/表:打印_E7CA/@是否带网格线_E7CB) = 1">grid</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="''"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="saHeaders"> |
| <xsl:choose> |
| <xsl:when test="表:页面设置_E7C1/表:打印_E7CA/@是否带行号列标_E7CC = 'true' or number(表:页面设置_E7C1/表:打印_E7CA/@是否带行号列标_E7CC) = 1">headers</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="''"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="saAnnotations"> |
| <xsl:choose> |
| <xsl:when test="表:页面设置_E7C1/表:批注打印方式_E7CF = 'sheet-end'">annotations</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="''"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="default_print"> |
| <xsl:value-of select="'charts drawings objects zero-values'"/> |
| </xsl:variable> |
| <xsl:variable name="Sc_Print_Result"> |
| <xsl:call-template name="print_fun"> |
| <xsl:with-param name="saGrid" select="$saGrid"/> |
| <xsl:with-param name="saHeaders" select="$saHeaders"/> |
| <xsl:with-param name="saAnnotations" select="$saAnnotations"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:if test="$Sc_Print_Result != ''"> |
| <xsl:attribute name="style:print"><xsl:value-of select="concat($Sc_Print_Result,$default_print)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:页面设置_E7C1/表:打印_E7CA/@是否按按草稿方式_E7CD"> |
| <xsl:attribute name="style:draft-print"><xsl:value-of select="表:页面设置_E7C1/表:打印_E7CA/@是否按按草稿方式_E7CD"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:页面设置_E7C1/表:错误单元格打印方式_E7D0"> |
| <xsl:attribute name="style:print-errors-as"><xsl:value-of select="表:页面设置_E7C1/表:错误单元格打印方式_E7D0"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| <xsl:if test="表:页面设置_E7C1/表:页眉页脚_E7C6"> |
| <xsl:element name="style:header-style"> |
| <style:header-footer-properties fo:min-height="0.751cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.25cm"/> |
| </xsl:element> |
| <xsl:element name="style:footer-style"> |
| <style:header-footer-properties fo:min-height="0.751cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.25cm"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="表:背景填充_E830/图:颜色_8004"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">table</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(..)"/></xsl:attribute> |
| <xsl:element name="style:table-properties"> |
| <xsl:attribute name="fo:background-color"><xsl:value-of select="表:背景填充_E830/图:颜色_8004"/></xsl:attribute> |
| </xsl:element> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="MasterStyleSpreadsheet"> |
| <xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表属性_E80D"> |
| <xsl:element name="style:master-page"> |
| <xsl:choose> |
| <xsl:when test="表:页面设置_E7C1/@名称_E7D4 = '工作表1的页面设置' or 表:页面设置_E7C1/@名称_E7D4 = '工作表2的页面设置'"> |
| <xsl:attribute name="style:name"><xsl:value-of select="表:页面设置_E7C1/@名称_E7D4"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="表:页面设置_E7C1"> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(表:页面设置_E7C1)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <!--<xsl:attribute name="style:name"><xsl:value-of select="../@表:名称"/></xsl:attribute>--> |
| <!--xsl:attribute name="style:name"><xsl:value-of select="generate-id(表:页面设置_E7C1)"/></xsl:attribute--> |
| <xsl:attribute name="style:page-layout-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:for-each select="表:页面设置_E7C1/表:页眉页脚_E7C6[contains(@位置_E7C9,'head')]"> |
| <xsl:element name="style:header"> |
| <xsl:choose> |
| <xsl:when test="@位置_E7C9='header-right'"> |
| <!--style:region-center> |
| <text:p> |
| <text:sheet-name>???</text:sheet-name> |
| </text:p> |
| </style:region-center--> |
| <xsl:element name="style:region-right"> |
| <!--<xsl:element name="text:p"> |
| <xsl:value-of select="字:段落_416B/字:句_419D/字:文本串_415B"/> |
| </xsl:element>--> |
| <xsl:apply-templates select="./字:段落_416B"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="@位置_E7C9='header-left'"> |
| <xsl:element name="style:region-left"> |
| <!--<xsl:element name="text:p"> |
| <xsl:value-of select="字:段落_416B/字:句_419D/字:文本串_415B"/> |
| </xsl:element>--> |
| <xsl:apply-templates select="./字:段落_416B"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:region-center"> |
| <!--<xsl:element name="text:p"> |
| <xsl:value-of select="字:段落_416B/字:句_419D/字:文本串_415B"/> |
| </xsl:element>--> |
| <xsl:apply-templates select="./字:段落_416B"/> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| <style:header-left style:display="false"/> |
| </xsl:for-each> |
| <xsl:for-each select="表:页面设置_E7C1/表:页眉页脚_E7C6[contains(@位置_E7C9,'foot')]"> |
| <xsl:element name="style:footer"> |
| <xsl:choose> |
| <xsl:when test="@位置_E7C9='footer-right'"> |
| <!--style:region-center> |
| <text:p> |
| <text:sheet-name>???</text:sheet-name> |
| </text:p> |
| </style:region-center--> |
| <xsl:element name="style:region-right"> |
| <!--<xsl:element name="text:p"> |
| <xsl:value-of select="字:段落_416B/字:句_419D/字:文本串_415B"/> |
| |
| </xsl:element>--> |
| <xsl:apply-templates select="./字:段落_416B"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="@位置_E7C9='footer-left'"> |
| <xsl:element name="style:region-left"> |
| <!--<xsl:element name="text:p"> |
| <xsl:value-of select="字:段落_416B/字:句_419D/字:文本串_415B"/> |
| |
| </xsl:element>--> |
| <xsl:apply-templates select="./字:段落_416B"/> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:region-center"> |
| <!--<xsl:element name="text:p"> |
| <xsl:value-of select="字:段落_416B/字:句_419D/字:文本串_415B"/> |
| </xsl:element>--> |
| <xsl:apply-templates select="./字:段落_416B"/> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:for-each> |
| <!--<style:footer> |
| <text:p>第<text:page-number>1</text:page-number>页</text:p> |
| </style:footer>--> |
| <style:footer-left style:display="false"/> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="listValidation"> |
| <xsl:param name="inputString"/> |
| <xsl:param name="tempString"/> |
| <xsl:param name="resultString"/> |
| <xsl:variable name="itemString"> |
| <xsl:choose> |
| <xsl:when test="contains($inputString,',')"> |
| <xsl:value-of select="concat('"',substring-before($inputString,','),'"')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat('"',$inputString,'"')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="contains($inputString,',')"> |
| <xsl:call-template name="listValidation"> |
| <xsl:with-param name="inputString" select="$tempString"/> |
| <xsl:with-param name="tempString" select="substring-after($tempString,',')"/> |
| <xsl:with-param name="resultString" select="concat($resultString,$itemString,';')"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($resultString,$itemString)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="one-content-validation"> |
| <xsl:variable name="condition-text"> |
| <xsl:choose> |
| <xsl:when test="规则:校验类型_B61C/text()='cell-range'"> |
| <xsl:value-of select="concat('oooc:cell-content-is-in-list',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:校验类型_B61C/text()='list'"> |
| <xsl:variable name="temp"> |
| <xsl:call-template name="listValidation"> |
| <xsl:with-param name="inputString" select="规则:第一操作数_B61E/text()"/> |
| <xsl:with-param name="tempString" select="substring-after(规则:第一操作数_B61E/text(),',')"/> |
| <xsl:with-param name="resultString" select="''"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:value-of select="concat('of:cell-content-is-in-list(',$temp,')')"/> |
| </xsl:when> |
| <xsl:when test="规则:校验类型_B61C/text()='text-length'"> |
| <xsl:choose> |
| <xsl:when test="规则:操作码_B61D/text()='between' "> |
| <xsl:value-of select="concat('oooc:cell-content-text-length-is-between','(',规则:第一操作数_B61E/text(),',',规则:第二操作数_B61F/text(),')')"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='not-between'"> |
| <xsl:value-of select="concat('oooc:cell-content-text-length-is-not-between','(',规则:第一操作数_B61E/text(),',',规则:第二操作数_B61F/text(),')')"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='equal-to'"> |
| <xsl:value-of select="concat('oooc:cell-content-text-length()=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='not-equal-to'"> |
| <xsl:value-of select="concat('oooc:cell-content-text-length()!=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='greater-than'"> |
| <xsl:value-of select="concat('oooc:cell-content-text-length()>',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='less-than'"> |
| <xsl:value-of select="concat('oooc:cell-content-text-length()<',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='greater-than-or-equal-to'"> |
| <xsl:value-of select="concat('oooc:cell-content-text-length()>=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='less-than-or-equal-to'"> |
| <xsl:value-of select="concat('oooc:cell-content-text-length()<=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="condition-item"> |
| <xsl:choose> |
| <xsl:when test="规则:操作码_B61D/text()='between' "> |
| <xsl:value-of select="concat(' and cell-content-is-between','(',规则:第一操作数_B61E/text(),',',规则:第二操作数_B61F/text(),')')"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='not-between'"> |
| <xsl:value-of select="concat(' and cell-content-is-not-between','(',规则:第一操作数_B61E/text(),',',规则:第二操作数_B61F/text(),')')"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='equal-to'"> |
| <xsl:value-of select="concat(' and cell-content()=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='not-equal-to'"> |
| <xsl:value-of select="concat(' and cell-content()!=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='greater-than'"> |
| <xsl:value-of select="concat(' and cell-content()>',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='less-than'"> |
| <xsl:value-of select="concat(' and cell-content()<',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='greater-than-or-equal-to'"> |
| <xsl:value-of select="concat(' and cell-content()>=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test="规则:操作码_B61D/text()='less-than-or-equal-to'"> |
| <xsl:value-of select="concat(' and cell-content()<=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="''"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="validation-type"> |
| <xsl:choose> |
| <xsl:when test="规则:校验类型_B61C/text()='whole-number'"> |
| <xsl:value-of select="'oooc:cell-content-is-whole-number()'"/> |
| </xsl:when> |
| <xsl:when test="规则:校验类型_B61C/text()='decimal'"> |
| <xsl:value-of select="'oooc:cell-content-is-decimal-number()'"/> |
| </xsl:when> |
| <xsl:when test="规则:校验类型_B61C/text()='date'"> |
| <xsl:value-of select="'oooc:cell-content-is-date()'"/> |
| </xsl:when> |
| <xsl:when test="规则:校验类型_B61C/text()='time'"> |
| <xsl:value-of select="'oooc:cell-content-is-time()'"/> |
| </xsl:when> |
| <xsl:when test="$condition-item!=''"> |
| <xsl:value-of select="'oooc:cell-content-is-whole-number()'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="''"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="concat($validation-type,$condition-item)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:element name="table:content-validation"> |
| <xsl:attribute name="table:name"><xsl:value-of select="@表:name"/></xsl:attribute> |
| <xsl:if test="not($condition-text='')"> |
| <xsl:attribute name="table:condition"><xsl:value-of select="$condition-text"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:是否忽略空格_B620"> |
| <xsl:attribute name="table:allow-empty-cell"><xsl:value-of select="规则:是否忽略空格_B620"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:是否显示下拉箭头_B621"> |
| <xsl:variable name="listshow"> |
| <xsl:choose> |
| <xsl:when test="string(规则:是否显示下拉箭头_B621)='false'"> |
| <xsl:value-of select="'no'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'unsorted'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="table:display-list"><xsl:value-of select="$listshow"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="danyinhao">'</xsl:variable> |
| <xsl:variable name="base_cell_address"> |
| <xsl:choose> |
| <xsl:when test="contains(规则:区域集_B61A/规则:区域_B62A[1]/text(),':')"> |
| <xsl:value-of select="translate(substring-after(规则:区域集_B61A/规则:区域_B62A[1]/text(),':'),'$','')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="translate(translate(translate(规则:区域集_B61A/规则:区域_B62A[1]/text(),'$',''),$danyinhao,''),'!','.')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="table:base-cell-address"><xsl:value-of select="$base_cell_address"/></xsl:attribute> |
| <xsl:if test="规则:输入提示_B622"> |
| <xsl:element name="table:help-message"> |
| <xsl:if test="规则:输入提示_B622/@标题_B624"> |
| <xsl:attribute name="table:title"><xsl:value-of select="规则:输入提示_B622/@标题_B624"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:输入提示_B622/@是否显示_B623"> |
| <xsl:attribute name="table:display"><xsl:value-of select="规则:输入提示_B622/@是否显示_B623"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:输入提示_B622/@内容_B625"> |
| <xsl:element name="text:p"> |
| <xsl:value-of select="规则:输入提示_B622/@内容_B625"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:element> |
| </xsl:if> |
| <xsl:if test="规则:错误提示_B626"> |
| <xsl:element name="table:error-message"> |
| <xsl:if test="规则:错误提示_B626/@标题_B624"> |
| <xsl:attribute name="table:title"><xsl:value-of select="规则:错误提示_B626/@标题_B624"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:错误提示_B626/@是否显示_B623"> |
| <xsl:attribute name="table:display"><xsl:value-of select="规则:错误提示_B626/@是否显示_B623"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:错误提示_B626/@类型_B627"> |
| <xsl:attribute name="table:message-type"><xsl:value-of select="规则:错误提示_B626/@类型_B627"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:错误提示_B626/@内容_B625"> |
| <xsl:element name="text:p"> |
| <xsl:value-of select="规则:错误提示_B626/@内容_B625"/> |
| </xsl:element> |
| </xsl:if> |
| </xsl:element> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="content-validations"> |
| <xsl:if test="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:数据有效性集_B618"> |
| <xsl:element name="table:content-validations"> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:数据有效性集_B618/*"> |
| <xsl:call-template name="one-content-validation"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="calculation-settings"> |
| <xsl:element name="table:calculation-settings"> |
| <xsl:attribute name="table:precision-as-shown"><xsl:choose><xsl:when test="string(/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:精确度是否以显示值为准_B613) = 'true'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="string(/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:日期系统_B614)='1904'"> |
| <table:null-date table:date-value="1904-01-01"/> |
| </xsl:when> |
| <xsl:when test="string(/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:日期系统_B614)='1899'"/> |
| <xsl:when test="string(/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:日期系统_B614)='iso8601'"> |
| <table:null-date table:date-value="1900-01-01"/> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:计算设置_B615"> |
| <xsl:element name="table:iteration"> |
| <xsl:attribute name="table:status">enable</xsl:attribute> |
| <xsl:attribute name="table:steps"><xsl:choose><xsl:when test="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:计算设置_B615/@迭代次数_B616"><xsl:value-of select="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:计算设置_B615/@迭代次数_B616"/></xsl:when><xsl:otherwise>100</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="table:maximum-difference"><xsl:choose><xsl:when test="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:计算设置_B615/@偏差值_B617"><xsl:value-of select="/uof:UOF_0000/规则:公用处理规则_B665/规则:电子表格_B66C/规则:计算设置_B615/@偏差值_B617"/></xsl:when><xsl:otherwise>0.001</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:element> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="tracked-changes"> |
| <xsl:for-each select="表:工作表_E825/表:工作表内容_E80E//字:修订开始_421F"> |
| <xsl:variable name="num"> |
| <xsl:number level="any" from="表:工作表_E825/表:工作表内容_E80E//*" count="字:修订开始_421F"/> |
| </xsl:variable> |
| <table:tracked-changes> |
| <table:cell-content-change> |
| <xsl:attribute name="table:id"><xsl:value-of select="concat('ct',$num)"/></xsl:attribute> |
| <table:cell-address> |
| <xsl:attribute name="table:column"><xsl:value-of select="substring-after(@标识符_4220,'-')"/></xsl:attribute> |
| <xsl:attribute name="table:row"><xsl:value-of select="substring-before(@标识符_4220,'-')"/></xsl:attribute> |
| <xsl:attribute name="table:table">0</xsl:attribute> |
| </table:cell-address> |
| <office:change-info> |
| <dc:creator> |
| <xsl:choose> |
| <xsl:when test="starts-with(@修订信息引用_4222,'+')"/> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-before(@修订信息引用_4222,'+')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </dc:creator> |
| <dc:date> |
| <xsl:value-of select="substring-before(substring-after(@修订信息引用_4222,'+'),'%')"/> |
| </dc:date> |
| </office:change-info> |
| <table:previous> |
| <table:change-track-table-cell> |
| <text:p> |
| <xsl:value-of select="substring-after(@修订信息引用_4222,'%')"/> |
| </text:p> |
| </table:change-track-table-cell> |
| </table:previous> |
| </table:cell-content-change> |
| </table:tracked-changes> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="表:电子表格文档_E826"> |
| <office:body> |
| <office:spreadsheet> |
| <xsl:call-template name="tracked-changes"/> |
| <xsl:call-template name="calculation-settings"/> |
| <xsl:call-template name="content-validations"/> |
| <xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825"> |
| <xsl:call-template name="TableSheet"/> |
| </xsl:for-each> |
| <!--<xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:筛选集_E83A/表:筛选_E80F"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each>--> |
| <xsl:apply-templates select="/uof:UOF_0000/书签:书签集_9104" mode="table"/> |
| <xsl:element name="table:database-ranges"> |
| <xsl:for-each select="表:工作表_E825/表:筛选集_E83A/表:筛选_E80F"> |
| <!--<xsl:element name="table:database-range"> |
| <xsl:if test="@类型_E83B = 'auto'"> |
| <xsl:attribute name="table:display-filter-buttons">true</xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="table:target-range-address"> |
| <xsl:call-template name="getDataRange"/> |
| </xsl:attribute> |
| <xsl:if test="表:条件_E811"> |
| <table:filter> |
| <xsl:choose> |
| <xsl:when test="表:条件_E811/表:普通_E812"> |
| <xsl:element name="table:filter-condition"> |
| <xsl:variable name="opea" select="表:条件_E811/表:普通_E812/@类型_E7B6"/> |
| <xsl:variable name="conditionArea"> |
| <xsl:call-template name="character-to-number"> |
| <xsl:with-param name="character" select="substring-before(substring-after(表:范围_E810,'$'),'$')"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="table:field-number"> |
| <xsl:value-of select="number(表:条件_E811/@列号_E819) - number($conditionArea)"/> |
| </xsl:attribute> |
| <xsl:attribute name="table:value" select="表:条件_E811/表:普通_E812/@值_E813"/> |
| <xsl:attribute name="table:operator"> |
| <xsl:choose> |
| <xsl:when test="$opea = 'bottomitem'">bottom values</xsl:when> |
| <xsl:when test="$opea = 'bottompercent'">bottom percent</xsl:when> |
| <xsl:when test="$opea = 'topitem'">top values</xsl:when> |
| <xsl:when test="$opea = 'toppercent'">top percent</xsl:when> |
| <xsl:when test="$opea = 'value'">=</xsl:when> |
| <xsl:otherwise/> |
| </xsl:choose> |
| </xsl:attribute> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="表:条件_E811/表:自定义_E814/@类型_E75D = 'or'"> |
| <xsl:element name="table:filter-or"> |
| <xsl:for-each select="表:条件_E811/表:自定义_E814/表:操作条件_815"> |
| <xsl:call-template name="表:操作条件_815"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="表:条件_E811/表:自定义_E814/@类型_E75D = 'and'"> |
| <xsl:element name="table:filter-and"> |
| <xsl:for-each select="表:条件_E811/表:自定义_E814/表:操作条件_815"> |
| <xsl:call-template name="表:操作条件_815"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="表:条件_E811/表:自定义_E814/表:操作条件_815"> |
| <xsl:call-template name="表:操作条件_815"/> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </table:filter> |
| </xsl:if> |
| </xsl:element>--> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:element> |
| </office:spreadsheet> |
| </office:body> |
| </xsl:template> |
| <xsl:template name="表:操作条件_815"> |
| <xsl:element name="table:filter-condition"> |
| <xsl:variable name="ope" select="规则:操作码_B61D"/> |
| <xsl:variable name="conditionArea"> |
| <xsl:call-template name="character-to-number"> |
| <xsl:with-param name="character" select="substring-before(substring-after(../../../表:范围_E810,'$'),'$')"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="table:field-number"><xsl:value-of select="number(../../@列号_E819) - number($conditionArea)"/></xsl:attribute> |
| <xsl:attribute name="table:value"><xsl:value-of select="@值_E817"/></xsl:attribute> |
| <xsl:attribute name="table:operator"><xsl:choose><xsl:when test="$ope = 'equal to'">=</xsl:when><xsl:when test="$ope = 'not equal to'">!=</xsl:when><xsl:when test="$ope = 'greater than'">></xsl:when><xsl:when test="$ope = 'greater than or equal to'">>=</xsl:when><xsl:when test="$ope = 'less than'"><</xsl:when><xsl:when test="$ope = 'less than or equal to'"><=</xsl:when><xsl:when test="$ope = 'start with'">begins-with</xsl:when><xsl:when test="$ope = 'not start with'">does-not-begin-with</xsl:when><xsl:when test="$ope = 'end with'">ends-with</xsl:when><xsl:when test="$ope = 'not end with'">does-not-end-with</xsl:when><xsl:when test="$ope = 'contain' or $ope = 'between'">contains</xsl:when><xsl:when test="$ope = 'not contain' or $ope = 'between'">does-not-contain</xsl:when><xsl:otherwise/></xsl:choose></xsl:attribute> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="OneTableStyle"> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">table</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('ta', generate-id(.))"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="表:工作表属性_E80D/表:页面设置_E7C1/@名称_E7D4 = '工作表1的页面设置' or 表:工作表属性_E80D/表:页面设置_E7C1/@名称_E7D4 = '工作表1的页面设置'"> |
| <xsl:attribute name="style:master-page-name"><xsl:value-of select="表:工作表属性_E80D/表:页面设置_E7C1/@名称_E7D4"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="表:工作表属性_E80D/表:页面设置_E7C1/@名称_E7D4 = '工作表2的页面设置' or 表:工作表属性_E80D/表:页面设置_E7C1/@名称_E7D4 = '工作表2的页面设置'"> |
| <xsl:attribute name="style:master-page-name"><xsl:value-of select="表:工作表属性_E80D/表:页面设置_E7C1/@名称_E7D4"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="表:工作表属性_E80D/表:页面设置_E7C1"> |
| <xsl:attribute name="style:master-page-name"><xsl:value-of select="generate-id(表:工作表属性_E80D/表:页面设置_E7C1)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <!--xsl:attribute name="style:master-page-name"> |
| <xsl:value-of select="generate-id(表:工作表属性_E80D/表:页面设置_E7C1)"/> |
| </xsl:attribute--> |
| <xsl:element name="style:table-properties"> |
| <xsl:choose> |
| <xsl:when test="string(@是否隐藏_E73C) = '1' or string(@是否隐藏_E73C) ='true'"> |
| <xsl:attribute name="table:display">false</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="table:display">true</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:for-each select="key('CellStyle', @式样引用_E824)"> |
| <xsl:choose> |
| <xsl:when test="./表:对齐格式_E7A8/表:水平对齐方式_E700='right'"> |
| <xsl:attribute name="style:writing-mode">rl-tb</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:writing-mode">lr-tb</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| <xsl:if test="表:背景_E823"> |
| <xsl:attribute name="fo:background-color"><xsl:value-of select="表:背景_E823"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:工作表属性_E80D/表:标签背景色_E7C0"> |
| <xsl:attribute name="table:tab-color"><xsl:value-of select="表:工作表属性_E80D/表:标签背景色_E7C0"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:工作表属性_E80D/表:标签前景色_E7BF"> |
| <xsl:attribute name="table:tab-font-color"><xsl:value-of select="表:工作表属性_E80D/表:标签前景色_E7BF"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:工作表属性_E80D/表:背景填充_E830"> |
| <xsl:for-each select="表:工作表属性_E80D/表:背景填充_E830"> |
| <xsl:call-template name="CommonFillAttr"/> |
| <xsl:call-template name="CommonFillElement"/> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:element> |
| </xsl:element> |
| </xsl:template> |
| <!--从<表:工作表内容>中提取默认的行的式样和列的式样信息。两个模版的结构时类似的,仅在元素命名和属性方面有所不同--> |
| <xsl:template name="DefaultColumnStyles"> |
| <!--根据'表:工作表'节点generate-id()设定该工作表默认列的式样名称,两个,一个是带PageBreak的,一个是不带PageBreak的--> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('co-default',@名称_E822)"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-column</xsl:attribute> |
| <style:table-column-properties> |
| <xsl:attribute name="fo:break-before">auto</xsl:attribute> |
| <xsl:attribute name="style:column-width"><xsl:choose><xsl:when test="表:工作表内容_E80E[@缺省列宽_E7EB]"><xsl:value-of select="concat(表:工作表内容_E80E/@缺省列宽_E7EB, $uofUnit)"/></xsl:when><xsl:otherwise><xsl:value-of select="string('2.267cm')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </style:table-column-properties> |
| </style:style> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('co-default-page',@名称_E822)"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-column</xsl:attribute> |
| <style:table-column-properties> |
| <xsl:attribute name="fo:break-before">page</xsl:attribute> |
| <xsl:attribute name="style:column-width"><xsl:choose><xsl:when test="表:工作表内容_E80E[@缺省列宽_E7EB]"><xsl:value-of select="concat(表:工作表内容_E80E/@缺省列宽_E7EB, $uofUnit)"/></xsl:when><xsl:otherwise><xsl:value-of select="string('2.267cm')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </style:table-column-properties> |
| </style:style> |
| </xsl:template> |
| <xsl:template name="DefaultRowStyles"> |
| <!--根据'表:工作表'节点generate-id()设定该工作表默认行的式样名称,两个,一个是带PageBreak的,一个是不带PageBreak的--> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('ro-default', @名称_E822)"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-row</xsl:attribute> |
| <style:table-row-properties> |
| <xsl:attribute name="fo:break-before">auto</xsl:attribute> |
| <xsl:attribute name="style:row-height"><xsl:choose><xsl:when test="表:工作表内容_E80E[@缺省行高列宽_E7E9]"><xsl:value-of select="concat(表:工作表内容_E80E/@缺省行高列宽_E7E9, $uofUnit)"/></xsl:when><xsl:otherwise><xsl:value-of select="string('0.513cm')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </style:table-row-properties> |
| </style:style> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('ro-default-page', @名称_E822)"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-row</xsl:attribute> |
| <style:table-row-properties> |
| <xsl:attribute name="fo:break-before">page</xsl:attribute> |
| <xsl:attribute name="style:row-height"><xsl:choose><xsl:when test="表:工作表内容_E80E[@缺省行高列宽_E7E9]"><xsl:value-of select="concat(表:工作表内容_E80E/@缺省行高列宽_E7E9, $uofUnit)"/></xsl:when><xsl:otherwise><xsl:value-of select="string('0.513cm')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| </style:table-row-properties> |
| </style:style> |
| </xsl:template> |
| <xsl:template match="表:列_E7EC" mode="TableColumStyle"> |
| <xsl:param name="BeginColum" select="number('1')"/> |
| <!--得到当前列的列号--> |
| <xsl:variable name="ColumNumber"> |
| <xsl:choose> |
| <xsl:when test="@列号_E7DA"> |
| <xsl:value-of select="@列号_E7DA"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$BeginColum"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!--为当前列生成列式样,先不考虑当前列有分页符的情况,固定生成一个不含分页信息的列式样--> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('co', generate-id())"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-column</xsl:attribute> |
| <style:table-column-properties> |
| <xsl:attribute name="fo:break-before">auto</xsl:attribute> |
| <xsl:if test="@列宽_E7EE"> |
| <xsl:attribute name="style:column-width"><xsl:value-of select="concat(@列宽_E7EE, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </style:table-column-properties> |
| </style:style> |
| <!--处理当前列及其跨度列中有分页符的情况--> |
| <xsl:variable name="repeatColumBeginNum" select="$ColumNumber"/> |
| <xsl:variable name="repeatColumEndNum"> |
| <xsl:choose> |
| <xsl:when test="@跨度_E7EF"> |
| <xsl:value-of select="number($ColumNumber) + number(@跨度_E7EF)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$ColumNumber"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="../../表:分页符集_E81E/表:分页符_E81F[number(@列号_E821) + 1 ge number($repeatColumBeginNum) and number(@列号_E7DA) + 1 le number($repeatColumEndNum)]"> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('co-page', generate-id())"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-column</xsl:attribute> |
| <style:table-column-properties> |
| <xsl:attribute name="fo:break-before">page</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@列宽_E7EE"> |
| <xsl:attribute name="style:column-width"><xsl:value-of select="concat(@列宽_E7EE, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="../@缺省列宽_E7EB"> |
| <xsl:attribute name="style:column-width"><xsl:value-of select="concat(../@缺省列宽_E7EB, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </style:table-column-properties> |
| </style:style> |
| </xsl:if> |
| <!--递归处理下一个'表:列'定义,传入参数为当前列(包含跨度)的下一个列的列号--> |
| <xsl:if test="following-sibling::表:列_E7EC"> |
| <xsl:apply-templates select="following-sibling::表:列_E7EC[1]" mode="TableColumStyle"> |
| <xsl:with-param name="BeginColum" select="number($ColumNumber) + number(@跨度_E7EF) + 1"/> |
| </xsl:apply-templates> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="表:行_E7F1" mode="TableRowStyle"> |
| <xsl:param name="BeginRow" select="number('1')"/> |
| <!--得到当前列的行号--> |
| <xsl:variable name="RowNumber"> |
| <xsl:choose> |
| <xsl:when test="@行号_E7F3"> |
| <xsl:value-of select="@行号_E7F3"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$BeginRow"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!--为当前行生成行式样,先不考虑当前列有分页符的情况,固定生成一个不含分页信息的行式样--> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('ro', generate-id())"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-row</xsl:attribute> |
| <style:table-row-properties> |
| <xsl:attribute name="fo:break-before">auto</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@行高_E7F4"> |
| <xsl:attribute name="style:row-height"><xsl:value-of select="concat(@行高_E7F4, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="../表:缺省行高列宽_E7E9/@缺省行高_E7EA"> |
| <xsl:attribute name="style:row-height"><xsl:value-of select="concat(../表:缺省行高列宽_E7E9/@缺省行高_E7EA, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="@是否自适应行高_E7F5"> |
| <xsl:attribute name="style:use-optimal-row-height"><xsl:value-of select="@是否自适应行高_E7F5"/></xsl:attribute> |
| </xsl:if> |
| </style:table-row-properties> |
| </style:style> |
| <!--处理当前行及其跨度中有分页符的情况--> |
| <xsl:variable name="repeatRowBeginNum"> |
| <xsl:value-of select="$RowNumber"/> |
| </xsl:variable> |
| <xsl:variable name="repeatRowEndNum"> |
| <xsl:choose> |
| <xsl:when test="@跨度_E7EF"> |
| <xsl:value-of select="number($RowNumber) + number(@跨度_E7EF)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$RowNumber"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="../../表:分页符集_E81E/表:分页符_E81F[(number(@行号_E7F3) + 1) >= number($repeatRowBeginNum) and (number(@行号_E7F3) + 1) <= number($repeatRowEndNum)]"> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('ro-page', generate-id())"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-row</xsl:attribute> |
| <style:table-row-properties> |
| <xsl:attribute name="fo:break-before">page</xsl:attribute> |
| <xsl:if test="../表:缺省行高列宽_E7E9/@缺省行高_E7EA"> |
| <xsl:attribute name="style:row-height"><xsl:value-of select="concat(../表:缺省行高列宽_E7E9/@缺省行高_E7EA, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@行高_E7F4"> |
| <xsl:attribute name="style:row-width"><xsl:value-of select="concat(@行高_E7F4, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </style:table-row-properties> |
| </style:style> |
| </xsl:if> |
| <!--递归处理下一个'表:行_E7F1'定义,传入参数为当前行(包含跨度)的下一个行的行号--> |
| <xsl:if test="following-sibling::表:行_E7F1"> |
| <xsl:apply-templates select="following-sibling::表:行_E7F1[1]" mode="TableRowStyle"> |
| <xsl:with-param name="BeginRow" select="number($RowNumber) + number(@跨度_E7EF) + 1"/> |
| </xsl:apply-templates> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="BodyTableStyle"> |
| <xsl:for-each select="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825"> |
| <xsl:call-template name="OneTableStyle"/> |
| <xsl:call-template name="DefaultColumnStyles"/> |
| <xsl:choose> |
| <xsl:when test="表:工作表内容_E80E/表:列_E7EC"> |
| <xsl:apply-templates select="表:工作表内容_E80E/表:列_E7EC[1]" mode="TableColumStyle"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="表:分页符集_E81E/表:分页符_E81F[@列号_E821]"> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('co', generate-id())"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-column</xsl:attribute> |
| <style:table-column-properties> |
| <xsl:attribute name="fo:break-before"><xsl:value-of select="string('page')"/></xsl:attribute> |
| </style:table-column-properties> |
| </style:style> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:call-template name="DefaultRowStyles"/> |
| <xsl:choose> |
| <xsl:when test="表:工作表内容_E80E/表:行_E7F1"> |
| <xsl:apply-templates select="表:工作表内容_E80E/表:行_E7F1[1]" mode="TableRowStyle"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="表:分页符集_E81E/表:分页符_E81F[@行号_E820]"> |
| <style:style> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('ro', generate-id())"/></xsl:attribute> |
| <xsl:attribute name="style:family">table-row</xsl:attribute> |
| <style:table-row-properties> |
| <xsl:attribute name="fo:break-before"><xsl:value-of select="string('page')"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@行高_E7F4"> |
| <xsl:attribute name="style:row-height"><xsl:value-of select="concat(@行高_E7F4, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="../表:缺省行高列宽_E7E9/@缺省行高_E7EA"> |
| <xsl:attribute name="style:row-height"><xsl:value-of select="concat(../表:缺省行高列宽_E7E9/@缺省行高_E7EA, $uofUnit)"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </style:table-row-properties> |
| </style:style> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="TableCellProperties"> |
| <xsl:if test="表:对齐格式_E7A8"> |
| <xsl:if test="表:对齐格式_E7A8/表:垂直对齐方式_E701"> |
| <xsl:variable name="vertical-align"> |
| <xsl:choose> |
| <xsl:when test="表:对齐格式_E7A8/表:垂直对齐方式_E701 = 'top'">top</xsl:when> |
| <xsl:when test="表:对齐格式_E7A8/表:垂直对齐方式_E701 = 'center'">middle</xsl:when> |
| <xsl:when test="表:对齐格式_E7A8/表:垂直对齐方式_E701 = 'bottom'">bottom</xsl:when> |
| <xsl:otherwise>auto</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:vertical-align"><xsl:value-of select="$vertical-align"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:对齐格式_E7A8/表:文字排列方向_E703 = 'r2l-t2b-0e-90w'"> |
| <xsl:if test="表:对齐格式_E7A8/表:水平对齐方式_E700 ='general'"> |
| <xsl:attribute name="style:glyph-orientation-vertical">auto</xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="style:direction">ttb</xsl:attribute> |
| <xsl:if test="not(表:对齐格式_E7A8/字:水平对齐方式_E700)"> |
| <xsl:attribute name="style:text-align-source">fix</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="表:对齐格式_E7A8/表:文字旋转角度_E704"> |
| <xsl:attribute name="style:rotation-angle"><xsl:choose><xsl:when test="表:对齐格式_E7A8/表:文字旋转角度_E704 < 0"><xsl:value-of select="360 + 表:对齐格式_E7A8/表:文字旋转角度_E704"/></xsl:when><xsl:otherwise><xsl:value-of select="表:对齐格式_E7A8/表:文字旋转角度_E704"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="style:rotation-align">none</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:对齐格式_E7A8/表:是否自动换行_E705 = 'true'"> |
| <xsl:attribute name="fo:wrap-option">wrap</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:对齐格式_E7A8/表:是否缩小字体填充_E706 = 'true'"> |
| <xsl:attribute name="style:shrink-to-fit">true</xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="表:边框_4133"> |
| <xsl:for-each select="表:边框_4133"> |
| <xsl:if test="@阴影类型_C645 and @阴影类型_C645 !='' and @阴影类型_C645 !='none'"> |
| <xsl:choose> |
| <xsl:when test="@阴影类型_C645 = 'right-bottom'"> |
| <xsl:attribute name="style:shadow">#808080 5pt 5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'right-top'"> |
| <xsl:attribute name="style:shadow">#808080 5pt -5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'left-bottom'"> |
| <xsl:attribute name="style:shadow">#808080 -5pt 5pt</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@阴影类型_C645 = 'left-top'"> |
| <xsl:attribute name="style:shadow">#808080 -5pt -5pt</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:call-template name="CommonBorder"> |
| <xsl:with-param name="pUp" select="uof:上_C614"/> |
| <xsl:with-param name="pDown" select="uof:下_C616"/> |
| <xsl:with-param name="pLeft" select="uof:左_C613"/> |
| <xsl:with-param name="pRight" select="uof:右_C615"/> |
| <xsl:with-param name="pDiagon1" select="uof:对角线1_C617"/> |
| <xsl:with-param name="pDiagon2" select="uof:对角线2_C618"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:if test="表:填充_E7A3"> |
| <xsl:for-each select="表:填充_E7A3"> |
| <xsl:call-template name="CommonFill"/> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:if test="表:字体格式_E7A7/字:是否隐藏文字_413D"> |
| <xsl:choose> |
| <xsl:when test="string(表:字体格式_E7A7/字:是否隐藏文字_413D) = 'true'"> |
| <xsl:attribute name="style:cell-protect">protected formula-hidden</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:cell-protect">none</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="表:对齐格式_E7A8/表:水平对齐方式_E700 = 'fill'"> |
| <xsl:attribute name="style:repeat-content">true</xsl:attribute> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TableParaProperties"> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:if test="表:对齐格式_E7A8/表:水平对齐方式_E700"> |
| <xsl:variable name="text-align"> |
| <xsl:choose> |
| <xsl:when test="表:对齐格式_E7A8/表:水平对齐方式_E700 = 'left'">start</xsl:when> |
| <xsl:when test="表:对齐格式_E7A8/表:水平对齐方式_E700 = 'center'">center</xsl:when> |
| <xsl:when test="表:对齐格式_E7A8/表:水平对齐方式_E700 = 'right'">end</xsl:when> |
| <xsl:when test="表:对齐格式_E7A8/表:水平对齐方式_E700 = 'justify'">justify</xsl:when> |
| <xsl:when test="表:对齐格式_E7A8/表:水平对齐方式_E700 = 'fill'">start</xsl:when> |
| <xsl:otherwise>auto</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="fo:text-align"><xsl:value-of select="$text-align"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:对齐格式_E7A8/表:缩进_E702"> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(表:对齐格式_E7A8/表:缩进_E702,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="OneTableCellStyle"> |
| <xsl:attribute name="style:family">table-cell</xsl:attribute> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_E7AC"/></xsl:attribute> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="@标识符_E7AC"/></xsl:attribute> |
| <xsl:attribute name="style:parent-style-name">Default</xsl:attribute> |
| <xsl:if test="表:数字格式_E7A9"> |
| <xsl:attribute name="style:data-style-name"><xsl:value-of select="concat( @标识符_E7AC, 'F')"/></xsl:attribute> |
| </xsl:if> |
| <xsl:element name="style:table-cell-properties"> |
| <xsl:call-template name="TableCellProperties"/> |
| </xsl:element> |
| <xsl:if test="表:对齐格式_E7A8"> |
| <xsl:call-template name="TableParaProperties"/> |
| </xsl:if> |
| <xsl:if test="表:字体格式_E7A7"> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="表:字体格式_E7A7"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:if> |
| <xsl:apply-templates select="规则:条件格式化_B629"/> |
| </xsl:template> |
| <xsl:template match="式样:单元格式样_9916"> |
| <xsl:param name="Type"/> |
| <xsl:if test="@类型_E7AE=$Type"> |
| <xsl:choose> |
| <xsl:when test="$Type='default'"> |
| <xsl:element name="style:default-style"> |
| <xsl:attribute name="style:family">table-cell</xsl:attribute> |
| <xsl:element name="style:table-cell-properties"> |
| <xsl:call-template name="TableCellProperties"/> |
| </xsl:element> |
| <xsl:if test="表:对齐格式_E7A8"> |
| <xsl:call-template name="TableParaProperties"/> |
| </xsl:if> |
| <xsl:if test="表:字体格式_E7A7"> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="表:字体格式_E7A7"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:if> |
| <xsl:apply-templates select="规则:条件格式化_B629"/> |
| </xsl:element> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:family">table-cell</xsl:attribute> |
| <xsl:attribute name="style:name">Default</xsl:attribute> |
| <xsl:attribute name="style:display-name">Default</xsl:attribute> |
| <xsl:if test="表:数字格式_E7A9"> |
| <xsl:attribute name="style:data-style-name">DefaultF</xsl:attribute> |
| </xsl:if> |
| <xsl:element name="style:table-cell-properties"> |
| <xsl:call-template name="TableCellProperties"/> |
| </xsl:element> |
| <xsl:if test="表:对齐格式_E7A8"> |
| <xsl:call-template name="TableParaProperties"/> |
| </xsl:if> |
| <xsl:if test="表:字体格式_E7A7"> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="表:字体格式_E7A7"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:if> |
| </xsl:element> |
| <xsl:if test="表:数字格式_E7A9[@分类名称_E740 and @分类名称_E740 != 'general']"> |
| <xsl:for-each select="表:数字格式_E7A9"> |
| <xsl:call-template name="NumberStyle"> |
| <xsl:with-param name="style-id" select="'Default'"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:apply-templates select="规则:条件格式化_B629"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneTableCellStyle"/> |
| </xsl:element> |
| <xsl:variable name="style-id" select="@标识符_E7AC"/> |
| <xsl:for-each select="表:数字格式_E7A9[@格式码_E73F]"> |
| <xsl:call-template name="NumberStyle"> |
| <xsl:with-param name="style-id" select="$style-id"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <!--xsl:key name="condtionalcells" match="/uof:UOF_0000/表:电子表格文档_E826/表:工作表_E825/表:工作表内容_E80E/表:行_E7F1/表:单元格_E7F2" use="@表:条件格式化"/> |
| <xsl:key name="cellstyles" match="/uof:UOF_0000/式样:式样集_990B/式样:单元格式样集_9915/式样:单元格式样_9916" use="@标识符_E7AC"/--> |
| <xsl:template match="规则:条件格式化_B629"> |
| <xsl:for-each select="规则:条件_B62B"> |
| <xsl:element name="style:map"> |
| <xsl:variable name="condition-text"> |
| <xsl:choose> |
| <xsl:when test="@类型_B673='cell-value'"> |
| <xsl:choose> |
| <xsl:when test="规则:操作码_B62C/text()='between' "> |
| <xsl:value-of select="concat('cell-content-is-between','(',规则:第一操作数_B61E/text(),',',规则:第二操作数_B61F/text(),')')"/> |
| </xsl:when> |
| <xsl:when test=" 规则:操作码_B62C/text()='not-between'"> |
| <xsl:value-of select="concat('cell-content-is-not-between','(',规则:第一操作数_B61E/text(),',',规则:第二操作数_B61F/text(),')')"/> |
| </xsl:when> |
| <xsl:when test=" 规则:操作码_B62C/text()='equal-to'"> |
| <xsl:value-of select="concat('cell-content()=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test=" 规则:操作码_B62C/text()='not-equal-to'"> |
| <xsl:value-of select="concat('cell-content()!=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test=" 规则:操作码_B62C/text()='greater-than'"> |
| <xsl:value-of select="concat('cell-content()>',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test=" 规则:操作码_B62C/text()='less-than'"> |
| <xsl:value-of select="concat('cell-content()<',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test=" 规则:操作码_B62C/text()='greater-than-or-equal-to'"> |
| <xsl:value-of select="concat('cell-content()>=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| <xsl:when test=" 规则:操作码_B62C/text()='less-than-or-equal-to'"> |
| <xsl:value-of select="concat('cell-content()<=',规则:第一操作数_B61E/text())"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="@类型_B673='formula'"> |
| <xsl:value-of select="concat('is-true-formula','(',规则:第一操作数_B61E/text(),')')"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="address"> |
| <xsl:value-of select="../规则:区域集_B61A/规则:区域_B62A[1]"/> |
| </xsl:variable> |
| <xsl:variable name="apos">'</xsl:variable> |
| <xsl:attribute name="style:condition"><xsl:value-of select="$condition-text"/></xsl:attribute> |
| <xsl:attribute name="style:apply-style-name"><xsl:value-of select="规则:格式_B62D/@式样引用_B62E"/></xsl:attribute> |
| <xsl:attribute name="style:base-cell-address"><xsl:value-of select="concat(substring-before(substring-after($address,$apos),$apos),'.',substring-before(substring-after(substring-after($address,':'),'$'),'$'),substring-after(substring-after(substring-after($address,':'),'$'),'$'))"/></xsl:attribute> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="BorderLineAttr"> |
| <xsl:variable name="type" select="@线型_C60D"/> |
| <xsl:variable name="dash" select="@虚实_C60E"/> |
| <!-- LineStyle --> |
| <xsl:variable name="draw-stroke"> |
| <xsl:choose> |
| <xsl:when test="$type='none'">none</xsl:when> |
| <xsl:when test="string($type)=''">none</xsl:when> |
| <xsl:when test="$dash='round-dot' or $dash='square-dot' or $dash='dash' or $dash='dash-dot' or $dash='long-dash' or $dash='long-dash-dot' or $dash='dash-dot-dot'">dash</xsl:when> |
| <xsl:otherwise>solid</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:stroke"><xsl:value-of select="$draw-stroke"/></xsl:attribute> |
| <xsl:if test="$type='none'"> |
| <xsl:attribute name="fo:border">none</xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="stroke-dash"> |
| <xsl:choose> |
| <xsl:when test="$dash='round-dot'">round-dot</xsl:when> |
| <xsl:when test="$dash='square-dot'">square-dot</xsl:when> |
| <xsl:when test="$dash='dash'">dash</xsl:when> |
| <xsl:when test="$dash='dash-dot'">dash-dot</xsl:when> |
| <xsl:when test="$dash='long-dash'">long-dash</xsl:when> |
| <xsl:when test="$dash='long-dash-dot'">long-dash-dot</xsl:when> |
| <xsl:when test="$dash='dash-dot-dot'">dash-dot-dot</xsl:when> |
| <xsl:otherwise>Fine Dashed</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$draw-stroke != 'none'"> |
| <xsl:attribute name="draw:stroke-dash"><xsl:value-of select="$stroke-dash"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@颜色_C611"> |
| <xsl:attribute name="svg:stroke-color"><xsl:value-of select="@颜色_C611"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@宽度_C60F"> |
| <xsl:attribute name="svg:stroke-width"><xsl:value-of select="concat(@宽度_C60F, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <!-- Waiting, ShadowLine --> |
| </xsl:template> |
| <xsl:template match="图表:边框线_4226" mode="chartstyle"> |
| <!-- Waiting, FrameType, including Top, Bottom, Left, Right, On The Cross --> |
| </xsl:template> |
| <xsl:template name="GraphicEleAndTextPropEle"> |
| <xsl:param name="par_DefaultColor"/> |
| <xsl:element name="style:graphic-properties"> |
| <xsl:for-each select="图表:对齐_E726/图表:是否自动换行_E705"> |
| <xsl:variable name="w-o"> |
| <xsl:choose> |
| <xsl:when test="'true'">wrap</xsl:when> |
| <xsl:otherwise>no-wrap</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="fo:wrap-option" select="$w-o"/> |
| </xsl:for-each> |
| <xsl:for-each select="图表:边框线_4226"> |
| <xsl:call-template name="BorderLineAttr"/> |
| </xsl:for-each> |
| <xsl:choose> |
| <xsl:when test="图表:填充_E746"> |
| <xsl:for-each select="图表:填充_E746"> |
| <xsl:call-template name="FillGraph"> |
| <xsl:with-param name="par_DefaultColor" select="$par_DefaultColor"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:attribute name="draw:opacity">100%</xsl:attribute> |
| <!-- no Foreward Color data in ODF --> |
| <xsl:if test="图表:数据标记_E70E/@背景色E711"> |
| <xsl:attribute name="draw:stroke" select="'solid'"/> |
| <xsl:attribute name="svg:stroke-color" select="图表:数据标记_E70E/@背景色E711"/> |
| </xsl:if> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <!-- absent fucntions --> |
| <xsl:for-each select="图表:图例项_E765[1]/图表:字体_E70B"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| <xsl:for-each select="图表:字体_E70B"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="AlignAttr"> |
| <xsl:if test="图表:水平对齐方式_E700"> |
| <xsl:variable name="t-h-a"> |
| <xsl:choose> |
| <!-- no supported functions in ODF --> |
| <xsl:when test="图表:水平对齐方式_E700 = 'center'">center</xsl:when> |
| <xsl:when test="图表:水平对齐方式_E700 = 'left'">left</xsl:when> |
| <xsl:when test="图表:水平对齐方式_E700 = 'right'">right</xsl:when> |
| <xsl:when test="图表:水平对齐方式_E700 = 'fill'">justify</xsl:when> |
| <xsl:when test="图表:水平对齐方式_E700 = 'center across selection'">center</xsl:when> |
| <xsl:when test="图表:水平对齐方式_E700 = 'distributed'">justify</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:textarea-horizontal-align" select="$t-h-a"/> |
| </xsl:if> |
| <xsl:if test="图表:垂直对齐方式_E701"> |
| <xsl:variable name="t-v-a"> |
| <xsl:choose> |
| <!-- no supported functions in ODF --> |
| <xsl:when test="图表:垂直对齐方式_E701 = 'top'">top</xsl:when> |
| <xsl:when test="图表:垂直对齐方式_E701 = 'center'">middle</xsl:when> |
| <xsl:when test="图表:垂直对齐方式_E701 = 'bottom'">bottom</xsl:when> |
| <xsl:when test="图表:垂直对齐方式_E701 = 'justify'">justify</xsl:when> |
| <xsl:when test="图表:垂直对齐方式_E701 = 'distributed'">justify</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="draw:textarea-vertical-align" select="$t-v-a"/> |
| </xsl:if> |
| <!-- Waiting, see graphic-properties --> |
| <xsl:if test="图表:文字排列方向_E703"> |
| <xsl:variable name="d"> |
| <xsl:choose> |
| <xsl:when test="图表:文字排列方向_E703='r2l-t2b-90e-90w'">ttb</xsl:when> |
| <xsl:when test="图表:文字排列方向_E703='r2l-t2b-0e-90w'">ttb</xsl:when> |
| <xsl:when test="图表:文字排列方向_E703='t2b-l2r-0e-0w'">ltr</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="style:direction" select="$d"/> |
| </xsl:if> |
| <!--xsl:variable name="r-a"> |
| <xsl:choose> |
| <xsl:when test="图表:文字旋转角度_E704"> |
| <xsl:value-of select="图表:文字旋转角度_E704"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable--> |
| <xsl:if test="图表:文字旋转角度_E704"> |
| <xsl:attribute name="style:rotation-angle" select="图表:文字旋转角度_E704"/> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="图表:图表区_E743" mode="chartstyle"> |
| <style:style style:name="chart-area" style:family="chart"> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| </xsl:template> |
| <xsl:template match="图表:数据标签_E752" mode="chartstyle"> |
| <xsl:attribute name="chart:data-label-text"><xsl:value-of select="@是否显示系列名_E715"/></xsl:attribute> |
| <xsl:attribute name="chart:data-label-text"><xsl:value-of select="@是否显示类别名_E716"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@是否显示数值_E717='true' and @是否百分数图表_E718='true'"> |
| <!--xsl:attribute name="chart:data-label-number">group-bars-per-axis</xsl:attribute--> |
| <xsl:attribute name="chart:data-label-number">value-and-percentage</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@是否显示数值_E717='true'"> |
| <xsl:attribute name="chart:data-label-number">value</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@是否百分数图表_E718='true'"> |
| <xsl:attribute name="chart:data-label-number">percentage</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@是否显示数值_E717='false'"> |
| <xsl:attribute name="chart:data-label-number">none</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:attribute name="chart:data-label-symbol"><xsl:value-of select="@是否显示图例标志_E719"/></xsl:attribute> |
| <xsl:if test="@分隔符_E71A"> |
| <xsl:element name="chart:label-separator"> |
| <xsl:element name="text:p"> |
| <xsl:choose> |
| <xsl:when test="@分隔符_E71A='1'">, </xsl:when> |
| <xsl:when test="@分隔符_E71A='2'">; </xsl:when> |
| <xsl:when test="@分隔符_E71A='3'"> |
| <text:line-break/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:element> |
| </xsl:if> |
| <!-- no supported functions in ODF --> |
| </xsl:template> |
| <xsl:template match="图表:数据标记_E70E" mode="chartstyle"> |
| <xsl:choose> |
| <xsl:when test="@类型_E70F='none' or not(@类型_E70F)"> |
| <xsl:attribute name="chart:symbol-type" select="'none'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="chart:symbol-type" select="'named-symbol'"/> |
| <xsl:variable name="symbol-name"> |
| <xsl:choose> |
| <xsl:when test="@类型_E70F='triangle'">arrow-up</xsl:when> |
| <xsl:when test="@类型_E70F='square-cross'">x</xsl:when> |
| <xsl:when test="@类型_E70F='square-star'">asterisk</xsl:when> |
| <xsl:when test="@类型_E70F='half-line' or @类型_E70F='line'">horizontal-bar</xsl:when> |
| <xsl:when test="@类型_E70F='square-plus'">plus</xsl:when> |
| <xsl:otherwise> |
| <!-- include square, diamond, circle --> |
| <xsl:value-of select="@类型_E70F"/> |
| </xsl:otherwise> |
| <!-- surplus types in ODF: star, vertical-bar, arrow-down, arrow-right, arrow-left, bow-tie, hourglass --> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="chart:symbol-name"><xsl:value-of select="$symbol-name"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="@大小_E712='7'"> |
| <xsl:attribute name="chart:symbol-width">0.25cm</xsl:attribute> |
| <xsl:attribute name="chart:symbol-height">0.25cm</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="图表:数据点集_E755" mode="chartstyle"> |
| <xsl:for-each select="图表:数据点_E756"> |
| <style:style style:family="chart"> |
| <xsl:attribute name="style:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <style:chart-properties> |
| <xsl:apply-templates select="图表:数据标签_E752" mode="chartstyle"/> |
| <xsl:apply-templates select="图表:数据标记_E70E" mode="chartstyle"/> |
| </style:chart-properties> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| <!-- no supported functions in ODF --> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="图表:误差线_E75A" mode="error-attr"> |
| <!-- no supported functions in ODF, no X error bars --> |
| <xsl:if test="@方向_E75F='Y'"> |
| <!-- no supported functions in ODF --> |
| <!-- <xsl:if test="@是否显示误差标记_E75B"></xsl:if> --> |
| <xsl:if test="@显示方式_E75C"> |
| <xsl:choose> |
| <xsl:when test="@显示方式_E75C='positive'"> |
| <xsl:attribute name="chart:error-upper-indicator" select="'true'"/> |
| </xsl:when> |
| <xsl:when test="@显示方式_E75C='negtive'"> |
| <xsl:attribute name="chart:error-lower-indicator" select="'true'"/> |
| </xsl:when> |
| <xsl:when test="@显示方式_E75C='both'"> |
| <xsl:attribute name="chart:error-upper-indicator" select="'true'"/> |
| <xsl:attribute name="chart:error-lower-indicator" select="'true'"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="@类型_E75D"> |
| <xsl:choose> |
| <xsl:when test="@类型_E75D='custom'"> |
| <xsl:attribute name="chart:error-category" select="'constant'"/> |
| <xsl:attribute name="chart:error-upper-limit"><!--xsl:value-of select="@加_E760"/--><xsl:value-of select="@值_E75E"/></xsl:attribute> |
| <xsl:attribute name="chart:error-lower-limit"><!--xsl:value-of select="@减_E760"/--><xsl:value-of select="@值_E75E"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@类型_E75D='fixed-value'"> |
| <xsl:attribute name="chart:error-category" select="'constant'"/> |
| <xsl:attribute name="chart:error-upper-limit"><xsl:value-of select="@值_E75E"/></xsl:attribute> |
| <xsl:attribute name="chart:error-lower-limit"><xsl:value-of select="@值_E75E"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@类型_E75D='percentage'"> |
| <xsl:attribute name="chart:error-category" select="'percentage'"/> |
| <xsl:attribute name="chart:error-percentage" select="@值_E75E"/> |
| </xsl:when> |
| <xsl:when test="@类型_E75D='std-dev'"> |
| <xsl:attribute name="chart:error-category" select="'standard-deviation'"/> |
| </xsl:when> |
| <!-- 100520版UOF2.0错误 'srd-err' 应为 'std-err' --> |
| <xsl:when test="@类型_E75D='std-err'"> |
| <!-- this enumeration has not in ODF --> |
| <xsl:attribute name="chart:error-category" select="'standard-error'"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="图表:误差线集_E759" mode="chartstyle"> |
| <xsl:for-each select="图表:误差线_E75A"> |
| <style:style> |
| <xsl:attribute name="style:name" select="generate-id(.)"/> |
| <xsl:attribute name="style:family" select="'chart'"/> |
| <style:chart-properties> |
| <xsl:variable name="error-category"> |
| <xsl:choose> |
| <xsl:when test="@类型_E75D='custom'">constant</xsl:when> |
| <xsl:when test="@类型_E75D='fixed-value'">constant</xsl:when> |
| <xsl:when test="@类型_E75D='percentage'">percentage</xsl:when> |
| <xsl:when test="@类型_E75D='std-dev'">standard-deviation</xsl:when> |
| <xsl:when test="@类型_E75D='srd-err'">standard-error</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="chart:error-category" select="$error-category"/> |
| </style:chart-properties> |
| <style:graphic-properties> |
| <xsl:for-each select="图表:边框线_4226"> |
| <xsl:call-template name="BorderLineAttr"/> |
| </xsl:for-each> |
| </style:graphic-properties> |
| </style:style> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="图表:趋势线集_E762" mode="chartstyle"> |
| <xsl:for-each select="图表:趋势线_E763[1]"> |
| <style:style> |
| <xsl:attribute name="style:name" select="generate-id(.)"/> |
| <xsl:attribute name="style:family" select="'chart'"/> |
| <style:graphic-properties> |
| <xsl:for-each select="图表:边框线_4226"> |
| <xsl:call-template name="BorderLineAttr"/> |
| </xsl:for-each> |
| </style:graphic-properties> |
| <!-- TuLiXiang was not supported in ODF --> |
| </style:style> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="图表:数据系列集_E74E" mode="chartstyle"> |
| <xsl:for-each select="图表:数据系列_E74F"> |
| <style:style> |
| <xsl:attribute name="style:family">chart</xsl:attribute> |
| <xsl:variable name="var_Pos"> |
| <!--xsl:choose> |
| <xsl:when test="@名称_E774"> |
| <xsl:value-of select="@名称_E774"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="position()"/> |
| </xsl:otherwise> |
| </xsl:choose--> |
| <xsl:value-of select="position()"/> |
| </xsl:variable> |
| <!-- Waiting, @FeiLeiMing, Zhi, HuiZhiZhou --> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat('DataSerial',string($var_Pos))"/></xsl:attribute> |
| <style:chart-properties> |
| <xsl:apply-templates select="图表:数据标记_E70E" mode="chartstyle"/> |
| <xsl:apply-templates select="图表:数据标签_E752" mode="chartstyle"/> |
| <!--xsl:choose> |
| < these code is no necessary now > |
| <xsl:when test="string($par_类型) = 'line'"> |
| <xsl:choose> |
| <xsl:when test="string($par_子类型) = 'clustered-marker'"> |
| <xsl:attribute name="chart:symbol-type" select="string('named-symbol')"/> |
| <xsl:attribute name="chart:symbol-name"> |
| <xsl:call-template name="getChartLineSymbol"> |
| <xsl:with-param name="par_Index" select="$par_序号"/> |
| </xsl:call-template> |
| </xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| > |
| </xsl:choose--> |
| <xsl:if test="contains(@子类型_E777,'stacked')"> |
| <xsl:attribute name="chart:stacked" select="'true'"/> |
| </xsl:if> |
| <xsl:if test="contains(@子类型_E777,'percent')"> |
| <xsl:attribute name="chart:percentage" select="'true'"/> |
| </xsl:if> |
| <xsl:if test="@类型_E75D = 'pie' and contains(@子类型_E777,'exploded')"> |
| <xsl:attribute name="chart:pie-offset">20</xsl:attribute> |
| </xsl:if> |
| <!-- Waiting, too much subtypes --> |
| <xsl:apply-templates select="图表:误差线集_E759/图表:误差线_E75A[1]" mode="error-attr"/> |
| <xsl:for-each select="图表:趋势线集_E762/图表:趋势线_E763[1]"> |
| <xsl:variable name="regression-type"> |
| <xsl:choose> |
| <!--xsl:when test="@类型_E76C='exponential'">exponential</xsl:when> |
| <xsl:when test="@类型_E76C='linear'">linear</xsl:when> |
| <xsl:when test="@类型_E76C='logarithmic'">logarithmic</xsl:when> |
| <xsl:when test="@类型_E76C='power'">power</xsl:when--> |
| <!-- Waiting , temporary value is none --> |
| <xsl:when test="@类型_E76C='moving-average' or @类型_E76C='polynomial'">none</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="@类型_E76C"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="chart:regression-type" select="$regression-type"/> |
| </xsl:for-each> |
| </style:chart-properties> |
| <style:graphic-properties> |
| <!--xsl:choose> |
| <xsl:when test="表:边框_4133"> |
| <xsl:apply-templates select="表:边框_4133" mode="chartstyle"/> |
| </xsl:when> |
| <-边框的颜色会自动设置 |
| <xsl:otherwise> |
| <xsl:attribute name="svg:stroke-color"> |
| <xsl:call-template name="getDefaultColor"> |
| <xsl:with-param name="par_Index" select="$var_Pos"/> |
| </xsl:call-template> |
| </xsl:attribute> |
| </xsl:otherwise> |
| -> |
| </xsl:choose--> |
| <xsl:for-each select="图表:边框线_4226"> |
| <xsl:call-template name="BorderLineAttr"/> |
| </xsl:for-each> |
| <xsl:choose> |
| <xsl:when test="图表:填充_E746"> |
| <xsl:for-each select="图表:填充_E746"> |
| <xsl:call-template name="FillGraph"> |
| <xsl:with-param name="par_DefaultColor"> |
| <xsl:call-template name="getDefaultColor"> |
| <xsl:with-param name="par_Index" select="$var_Pos"/> |
| </xsl:call-template> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="draw:fill-color"><xsl:call-template name="getDefaultColor"><xsl:with-param name="par_Index" select="$var_Pos"/></xsl:call-template></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </style:graphic-properties> |
| </style:style> |
| <xsl:apply-templates select="图表:数据点集_E755" mode="chartstyle"/> |
| <!-- Waiting, New Funciton : xsl:apply-templates select="图表:引导线_E758" mode="chartstyle" --> |
| <xsl:apply-templates select="图表:误差线集_E759" mode="chartstyle"/> |
| <xsl:apply-templates select="图表:趋势线集_E762" mode="chartstyle"/> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="StockMarkerStyle"> |
| <!-- DieZhuXian, ZhangZhuXian --> |
| <style:style style:family="chart" style:name="GnMk"> |
| <xsl:attribute name="style:name" select="generate-id()"/> |
| <style:graphic-properties> |
| <xsl:for-each select="图表:边框线_4226"> |
| <xsl:call-template name="BorderLineAttr"/> |
| </xsl:for-each> |
| <xsl:for-each select="图表:填充_E746"> |
| <xsl:call-template name="FillGraph"> |
| <!--xsl:with-param name="par_DefaultColor" select="$par_DefaultColor"/--> |
| </xsl:call-template> |
| </xsl:for-each> |
| </style:graphic-properties> |
| </style:style> |
| </xsl:template> |
| <xsl:template match="图表:刻度_E71D" mode="chartstyle"> |
| <xsl:if test="图表:最小值_E71E!=''"> |
| <xsl:attribute name="chart:minimum"><xsl:value-of select="图表:最小值_E71E"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图表:最大值_E720!=''"> |
| <xsl:attribute name="chart:maximum"><xsl:value-of select="图表:最大值_E720"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图表:主单位_E721!=''"> |
| <xsl:attribute name="chart:interval-major"><xsl:value-of select="图表:主单位_E721"/></xsl:attribute> |
| <xsl:if test="图表:次单位_E722!='' and not(图表:次单位_E722='0')"> |
| <xsl:attribute name="chart:interval-minor-divisor"><xsl:value-of select="number(图表:主单位_E721) div number(图表:次单位_E722)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="图表:是否显示为对数刻度_E729='true' or 图表:是否显示为对数刻度_E729='1'"> |
| <xsl:attribute name="chart:logarithmic">true</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图表:是否次序反转_E72B"> |
| <xsl:choose> |
| <xsl:when test="图表:是否次序反转_E72B = 'false'"> |
| <xsl:attribute name="chart:reverse-direction">false</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="chart:reverse-direction">true</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="../@子类型_E793 = 'value'"> |
| <xsl:if test="图表:数值次序反转"> |
| <xsl:choose> |
| <xsl:when test="图表:数值次序反转 = 'false'"> |
| <xsl:attribute name="chart:reverse-direction">false</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="chart:reverse-direction">true</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="图表:交叉点_E723 != ''"> |
| <xsl:attribute name="chart:axis-position"><xsl:value-of select="图表:交叉点_E723"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="../../图表:坐标轴_E791[@子类型_E793 = 'category']/图表:刻度_E71D/图表:交叉点_E723 !=''"> |
| <xsl:attribute name="chart:origin"><xsl:value-of select="../../图表:坐标轴_E791[@子类型_E793 = 'category']/图表:刻度_E71D/图表:交叉点_E723"/></xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="../@子类型_E793 = 'category'"> |
| <xsl:if test="图表:分类次序反转"> |
| <xsl:choose> |
| <xsl:when test="图表:分类次序反转 = 'false'"> |
| <xsl:attribute name="chart:reverse-direction">false</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="chart:reverse-direction">true</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| <xsl:if test="图表:交叉点_E723 != ''"> |
| <xsl:attribute name="chart:axis-position"><xsl:value-of select="图表:交叉点_E723 != ''"/></xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| </xsl:choose> |
| <!--xsl:choose> |
| <xsl:when test="../@主类型_E792='primary'"> |
| <xsl:for-each select="../../表:坐标轴_E791[@主类型_E792='secondary']/表:刻度_E71D"> |
| <xsl:for-each select="表:交叉点_E723"> |
| <xsl:attribute name="chart:axis-position"><xsl:value-of select="."/></xsl:attribute> |
| </xsl:for-each> |
| </xsl:for-each> |
| <xsl:for-each select="表:分类刻度数_E72D"> |
| <Waiting> |
| <xsl:attribute name="chart:interval-major"><xsl:value-of select="."/></xsl:attribute> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="../@主类型_E792='secondary'"> |
| <xsl:for-each select="../../表:坐标轴_E791[@主类型_E792='primary']/表:刻度_E71D"> |
| <xsl:for-each select="表:交叉点_E723"> |
| <xsl:attribute name="chart:axis-position"><xsl:value-of select="."/></xsl:attribute> |
| </xsl:for-each> |
| <xsl:for-each select="表:分类标签数_E72C"> |
| <xsl:attribute name="chart:interval-major"><xsl:value-of select="."/></xsl:attribute> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:when> |
| </xsl:choose--> |
| <!-- xsl::choose> |
| <xsl:when test="../../表:坐标轴_E791[@主类型_E792=current()/../@主类型_E792 and @子类型_E793!=(current()/../@子类型_E793)]/表:刻度_E71D"> |
| <xsl:for-each select="../../表:坐标轴_E791[@主类型_E792=current()/../@主类型_E792 and @子类型_E793!=(current()/../@子类型_E793)]/表:刻度_E71D"> |
| <xsl:if test="表:交叉点_E723 !=''"> |
| <xsl:attribute name="chart:axis-position" select="表:交叉点_E723"/> |
| </xsl:if> |
| <xsl:if test="表:分类标签数_E72C != ''"> |
| <xsl:attribute name="chart:interval-major" select="表:分类标签数_E72C"/> |
| </xsl:if> |
| <Absent Function: xsl:for-each select="表:分类刻度数_E72D"> |
| </xsl:for-each-> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="../../表:坐标轴_E791[@子类型_E793!=(current()/../@子类型_E793)]/表:刻度_E71D"> |
| <xsl:if test="表:交叉点_E723 !=''"> |
| <xsl:attribute name="chart:axis-position" select="表:交叉点_E723"/> |
| </xsl:if> |
| <xsl:if test="表:分类标签数_E72C != ''"> |
| <xsl:attribute name="chart:interval-major" select="表:分类标签数_E72C"/> |
| </xsl:if> |
| <!-xsl:for-each select="表:分类刻度数_E72D"> |
| </xsl:for-each-> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose--> |
| <xsl:if test="图表:交叉点_E723 !=''"> |
| <xsl:attribute name="chart:axis-position" select="图表:交叉点_E723"/> |
| </xsl:if> |
| <!-- Waiting, 显示单位、 是否交叉于最大值、 数值轴是否至于分类轴之间--> |
| </xsl:template> |
| <xsl:template match="图表:网格线集_E733" mode="chartstyle"> |
| <xsl:for-each select="图表:网格线_E734"> |
| <style:style style:family="chart"> |
| <xsl:attribute name="style:name" select="generate-id(.)"/> |
| <style:graphic-properties> |
| <xsl:call-template name="BorderLineAttr"/> |
| </style:graphic-properties> |
| </style:style> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="图表:标题_E736" mode="chartstyle"> |
| <style:style style:family="chart"> |
| <xsl:attribute name="style:name" select="generate-id(.)"/> |
| <style:chart-properties> |
| <xsl:for-each select="图表:对齐_E726"> |
| <xsl:call-template name="AlignAttr"/> |
| <!-- Waiting, see graphic-properties --> |
| </xsl:for-each> |
| </style:chart-properties> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| <!--@名称 位置 在 chartbody--> |
| </xsl:template> |
| <xsl:template match="图表:坐标轴_E791" mode="chartstyle"> |
| <style:style style:family="chart"> |
| <xsl:attribute name="style:name" select="generate-id(.)"/> |
| <xsl:for-each select="图表:数值_E70D[@分类名称_E740]"> |
| <xsl:attribute name="style:data-style-name"><xsl:value-of select="concat(generate-id(.),'F')"/></xsl:attribute> |
| </xsl:for-each> |
| <style:chart-properties> |
| <xsl:choose> |
| <!-- @主刻度类型_E737 缺省取"inside" by yao.wang@cs2c.com.cn, starting --> |
| <xsl:when test="@主刻度类型_E737='none'"> |
| <xsl:attribute name="chart:tick-marks-major-inner">false</xsl:attribute> |
| <xsl:attribute name="chart:tick-marks-major-outer">false</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@主刻度类型_E737='cross'"> |
| <xsl:attribute name="chart:tick-marks-major-inner">true</xsl:attribute> |
| <xsl:attribute name="chart:tick-marks-major-outer">true</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@主刻度类型_E737='outside'"> |
| <xsl:attribute name="chart:tick-marks-major-inner">false</xsl:attribute> |
| <xsl:attribute name="chart:tick-marks-major-outer">true</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="chart:tick-marks-major-inner">true</xsl:attribute> |
| <xsl:attribute name="chart:tick-marks-major-outer">false</xsl:attribute> |
| </xsl:otherwise> |
| <!-- Ending. --> |
| </xsl:choose> |
| <xsl:choose> |
| <!-- @次刻度类型_E738 缺省取"none" starting --> |
| <xsl:when test="@次刻度类型_E738='cross'"> |
| <xsl:attribute name="chart:tick-marks-minor-inner">true</xsl:attribute> |
| <xsl:attribute name="chart:tick-marks-minor-outer">true</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@次刻度类型_E738='inside'"> |
| <xsl:attribute name="chart:tick-marks-minor-inner">true</xsl:attribute> |
| <xsl:attribute name="chart:tick-marks-minor-outer">false</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@次刻度类型_E738='outside'"> |
| <xsl:attribute name="chart:tick-marks-minor-inner">false</xsl:attribute> |
| <xsl:attribute name="chart:tick-marks-minor-outer">true</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="chart:tick-marks-minor-inner">false</xsl:attribute> |
| <xsl:attribute name="chart:tick-marks-minor-outer">false</xsl:attribute> |
| </xsl:otherwise> |
| <!-- Ending. --> |
| </xsl:choose> |
| <!-- @刻度线标志_E739 缺省取 'next-to-axis' starting --> |
| <xsl:attribute name="chart:display-label">true</xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@刻度线标志_E739='inside'"> |
| <xsl:attribute name="chart:axis-label-position">outside-maximum</xsl:attribute> |
| <xsl:attribute name="chart:tick-mark-position">at-labels</xsl:attribute> |
| <xsl:attribute name="chart:axis-position" select="0"/> |
| </xsl:when> |
| <xsl:when test="@刻度线标志_E739='outside'"> |
| <xsl:attribute name="chart:axis-label-position">outside-minimum</xsl:attribute> |
| <xsl:attribute name="chart:tick-mark-position">at-labels</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@刻度线标志_E739='none'"> |
| <xsl:attribute name="chart:axis-label-position">outside-minimum</xsl:attribute> |
| <xsl:attribute name="chart:tick-mark-position">at-labels</xsl:attribute> |
| <xsl:attribute name="chart:display-label">false</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@刻度线标志_E739='next-axis'"> |
| <xsl:attribute name="chart:axis-position">0</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="chart:axis-label-position">next-axis</xsl:attribute> |
| <xsl:attribute name="chart:tick-mark-position">at-labels</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!-- Waiting, @ 主类型 次类型 可能在坐标轴内容 而非式样中 --> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='表:数值_E70D'"> |
| <xsl:choose> |
| <xsl:when test="@是否链接到源_E73E"> |
| <xsl:attribute name="chart:link-data-style-to-source" select="@是否链接到源_E73E"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="chart:link-data-style-to-source" select="false"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!-- Waiting, @格式码 --> |
| </xsl:when> |
| <xsl:when test="name(.)='图表:刻度_E71D'"> |
| <xsl:apply-templates select="." mode="chartstyle"/> |
| </xsl:when> |
| <xsl:when test="name(.)='图表:对齐_E730'"> |
| <!--xsl:if test="表:文字排列方向 = 'r2l-t2b-90e-90w'"--> |
| <xsl:if test="图表:文字排列方向_E703 = 'r2l-t2b-90e-90w' or 图表:文字排列方向_E703 = 'r2l-t2b-0e-90w'"> |
| <!-- Waiting, some enumerations are not supported. --> |
| <xsl:attribute name="style:direction">ttb</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="图表:文字旋转角度_E704"> |
| <xsl:attribute name="style:rotation-angle"><xsl:value-of select="图表:文字旋转角度_E704"/></xsl:attribute> |
| </xsl:if> |
| <!-- Waiting, Offset --> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </style:chart-properties> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| <xsl:apply-templates select="图表:网格线集_E733" mode="chartstyle"/> |
| <!-- Waiting ,UOF2.0图表下也有标题 与此处编号不一致,暂以此为准 --> |
| <xsl:apply-templates select="图表:标题_E736" mode="chartstyle"/> |
| </xsl:template> |
| <xsl:template match="图表:绘图区_E747" mode="chartstyle"> |
| <style:style style:name="chart-wall" style:family="chart"> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| <style:style style:name="plot-area" style:family="chart"> |
| <style:chart-properties> |
| <xsl:for-each select="图表:图表类型组集_E74C/图表:组_E74D[1]/图表:数据系列集_E74E/图表:数据系列_E74F[1]"> |
| <xsl:variable name="table-type" select="@类型_E75D"/> |
| <xsl:variable name="table-subtype" select="@子类型_E777"/> |
| <xsl:choose> |
| <xsl:when test="$table-subtype='stacked'"> |
| <xsl:attribute name="chart:stacked">true</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$table-subtype='percent-stacked'"> |
| <xsl:attribute name="chart:percentage">true</xsl:attribute> |
| </xsl:when> |
| <!--UOF2.0 101215版本无此枚举值,暂用stacked-marker代替 |
| <xsl:when test="($table-subtype='clustered' and $table-type != 'line') or $table-subtype='clustered-marker'"--> |
| <xsl:when test="($table-subtype='clustered' and $table-type != 'line') or $table-subtype='stacked-marker'"> |
| <xsl:attribute name="chart:symbol-type">automatic</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="contains($table-subtype[position() =1],'3d')"> |
| <xsl:attribute name="chart:three-dimensional">true</xsl:attribute> |
| <xsl:attribute name="chart:soft-page-break">true</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <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> |
| <xsl:variable name="series-value-start"> |
| <xsl:value-of select="@值_E775"/> |
| </xsl:variable> |
| <xsl:variable name="series-value-end"> |
| <xsl:value-of select="../图表:数据系列_E74F[last()]/@值_E775"/> |
| </xsl:variable> |
| <!-- Waiting, 按行按列 即 表:数据源/@表:系列产生 --> |
| <!-- |
| <xsl:variable name="series-generate-type"> |
| <xsl:choose> |
| <xsl:when test="../表:数据源/@表:系列产生"> |
| <xsl:value-of select="表:数据源/@表:系列产生"/> |
| </xsl:when> |
| <xsl:when test="substring(substring-after($series-value-start,'!'),2,1)=substring(substring-after($series-value-start,':'),2,1)">row</xsl:when> |
| <xsl:otherwise>col</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| --> |
| <!-- |
| <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> |
| --> |
| <xsl:for-each select="图表:数据标签_E752"> |
| <xsl:if test="@是否显示类别名_E716"> |
| <xsl:attribute name="chart:data-label-text" select="@是否显示类别名_E716"/> |
| </xsl:if> |
| <xsl:attribute name="chart:data-label-number"><xsl:choose><xsl:when test="@是否显示数值_E717='true'">value</xsl:when><xsl:when test="@是否百分数图表_E718='true'">percentage</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:if test="@是否显示图例标志_E719"> |
| <xsl:attribute name="chart:data-label-symbol"><xsl:value-of select="@是否显示图例标志_E719"/></xsl:attribute> |
| <!--分隔符缺省值设为 0--> |
| <xsl:if test="string(@分隔符_E71A)"> |
| <chart:label-separator> |
| <xsl:choose> |
| <xsl:when test="string(@分隔符_E71A) = '4'"> |
| <text:line-break/> |
| </xsl:when> |
| <xsl:otherwise> |
| <text:p> |
| <xsl:choose> |
| <xsl:when test="string(@分隔符_E71A) = '1'">, </xsl:when> |
| <xsl:when test="string(@分隔符_E71A) = '2'">; </xsl:when> |
| <!-- Absent Function , '3' correnspond with '0' space> |
| <xsl:when test="string(@分隔符_E71A) = '3'">. </xsl:when--> |
| </xsl:choose> |
| </text:p> |
| </xsl:otherwise> |
| </xsl:choose> |
| </chart:label-separator> |
| </xsl:if> |
| <!-- Waiting, QiPaoChiCun_E71B --> |
| <!-- Waiting, some new functions for uof2.0 --> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:for-each> |
| </style:chart-properties> |
| </style:style> |
| <xsl:for-each select="图表:图表类型组集_E74C/图表:组_E74D[1]"> |
| <xsl:apply-templates select="图表:数据系列集_E74E" mode="chartstyle"/> |
| <xsl:for-each select="图表:跌柱线_E77E|图表:涨柱线_E780"> |
| <xsl:call-template name="StockMarkerStyle"/> |
| </xsl:for-each> |
| <!-- Waiting, some new subelements for uof2.0 --> |
| </xsl:for-each> |
| <xsl:for-each select="图表:坐标轴集_E790"> |
| <xsl:apply-templates select="图表:坐标轴_E791" mode="chartstyle"/> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="图表:图例_E794" mode="chartstyle"> |
| <style:style style:name="legend" style:family="chart"> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| <!-- Waiting, Size, TuLiXiang --> |
| </xsl:template> |
| <xsl:template match="图表:数据表_E79B" mode="chartstyle"> |
| <style:style style:name="data-table" style:family="chart"> |
| <!--边框 编号及标签名 均不一致--> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| <!-- Waiting, Attributes --> |
| </xsl:template> |
| <xsl:template match="图表:背景墙_E7A1" mode="chartstyle"> |
| <style:style style:name="chart-wall" style:family="chart"> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| </xsl:template> |
| <xsl:template match="图表:基底_E7A4" mode="chartstyle"> |
| <style:style style:name="chart-floor" style:family="chart"> |
| <xsl:call-template name="GraphicEleAndTextPropEle"/> |
| </style:style> |
| </xsl:template> |
| <xsl:template name="getChartLineSymbol"> |
| <xsl:param name="par_Index"/> |
| <xsl:variable name="var_SymbolArray"> |
| <symbolName>square</symbolName> |
| <symbolName>diamond</symbolName> |
| <symbolName>arrow-down</symbolName> |
| <symbolName>arrow-up</symbolName> |
| <symbolName>arrow-right</symbolName> |
| <symbolName>arrow-left</symbolName> |
| <symbolName>bow-tie</symbolName> |
| <symbolName>hourglass</symbolName> |
| </xsl:variable> |
| <xsl:variable name="varIndex"> |
| <xsl:choose> |
| <xsl:when test="$par_Index mod 8 = 0"> |
| <xsl:value-of select="number('8')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$par_Index mod 8"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="$var_SymbolArray/symbolName[position() = number($varIndex)]"/> |
| </xsl:template> |
| <xsl:template name="getDefaultColor"> |
| <xsl:param name="par_Index"/> |
| <xsl:variable name="var_ColorArray"> |
| <color>#004586</color> |
| <color>#ff420e</color> |
| <color>#ffd320</color> |
| <color>#579d1c</color> |
| <color>#7e0021</color> |
| <color>#83caff</color> |
| <color>#314004</color> |
| <color>#aecf00</color> |
| <color>#4b1f6f</color> |
| <color>#ff950e</color> |
| <color>#c5000b</color> |
| <color>#0084d1</color> |
| </xsl:variable> |
| <xsl:variable name="varIndex"> |
| <xsl:choose> |
| <xsl:when test="$par_Index mod 12 = 0"> |
| <xsl:value-of select="number('12')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$par_Index mod 12"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="$var_ColorArray/color[position() = number($varIndex)]"/> |
| </xsl:template> |
| <xsl:template name="图表:固定式样式样集"> |
| <office:styles> |
| <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"/> |
| <draw:stroke-dash draw:name="dash" draw:style="rect" draw:dots1="1" draw:dots1-length="0.2cm" draw:dots2="1" draw:dots2-length="0.2cm" draw:distance="0.15cm"/> |
| <draw:stroke-dash draw:name="dash-dot" draw:style="rect" draw:dots1="1" draw:dots1-length="0.2cm" draw:dots2="1" draw:distance="0.1cm"/> |
| <draw:stroke-dash draw:name="dot-dash" draw:style="rect" draw:dots1="1" draw:dots1-length="0.21cm" draw:dots2="1" draw:distance="0.1cm"/> |
| <draw:stroke-dash draw:name="dash-dot-dot" draw:style="rect" draw:dots1="1" draw:dots1-length="0.15cm" draw:dots2="2" draw:distance="0.07cm"/> |
| <draw:stroke-dash draw:name="dot-dot-dash" draw:style="rect" draw:dots1="1" draw:dots1-length="0.16cm" draw:dots2="2" draw:distance="0.07cm"/> |
| <draw:stroke-dash draw:name="dash-long" draw:style="rect" draw:dots1="1" draw:dots1-length="0.4cm" draw:dots2="1" draw:dots2-length="0.4cm" draw:distance="0.25cm"/> |
| <draw:stroke-dash draw:name="round-dot" draw:display-name="round-dot" draw:style="round" draw:dots1="1" draw:dots1-length="0.025cm" draw:distance="0.025cm"/> |
| <draw:stroke-dash draw:name="square-dot" draw:display-name="square-dot" draw:style="rect" draw:dots1="1" draw:dots1-length="0.026cm" draw:distance="0.026cm"/> |
| <draw:stroke-dash draw:name="long-dash-dot" draw:display-name="long-dash-dot" draw:style="rect" draw:dots1="1" draw:dots1-length="0.026cm" draw:dots2="1" draw:dots2-length="0.211cm" draw:distance="0.079cm"/> |
| <draw:stroke-dash draw:name="long-dash" draw:display-name="long-dash" draw:style="rect" draw:dots2="1" draw:dots2-length="0.211cm" draw:distance="0.079cm"/> |
| <xsl:call-template name="GraphicSetStyle"/> |
| <xsl:call-template name="HatchSetStyle"/> |
| <xsl:for-each select=".//图:渐变_800D/.."> |
| <xsl:call-template name="GradientStyle"/> |
| </xsl:for-each> |
| </office:styles> |
| </xsl:template> |
| <xsl:template name="OfficeAutomaticStyles4chart"> |
| <office:automatic-styles> |
| <!--number:number-style--> |
| <!-- no sure, these digit format is necessary. --> |
| <xsl:if test="图表:数值轴/图表:数值/@图表:分类名称='text'"> |
| <number:text-style style:name="axisYstyle" number:language="zh" number:country="CN"> |
| <number:text-content/> |
| </number:text-style> |
| </xsl:if> |
| <xsl:if test="图表:数值轴/图表:数值/@图表:分类名称='general'"> |
| <number:number-style style:name="axisYstyle"> |
| <number:number number:min-integer-digits="1"/> |
| </number:number-style> |
| </xsl:if> |
| <xsl:for-each select="图表:数值轴/图表:数值[@图表:分类名称]"> |
| <xsl:call-template name="NumberStyle"> |
| <xsl:with-param name="style-id" select="generate-id(.)"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| <xsl:for-each select="*"> |
| <xsl:apply-templates select="." mode="chartstyle"/> |
| <!--表:图表区_E743|表:绘图区_E747|表:图例_E794|表:数据表_E79B|表:标题_E70A|表:背景墙_E7A1|表:基底_E7A4 |
| 待转 空白单元格绘制方式 是否显示隐藏单元格--> |
| </xsl:for-each> |
| </office:automatic-styles> |
| </xsl:template> |
| <xsl:template name="transform-data-area"> |
| <xsl:param name="data-area"/> |
| <xsl:variable name="apos">'</xsl:variable> |
| <!--xsl:variable name="MidData1" select="translate($data-area, ',', ' ')"/> |
| <xsl:variable name="MidData2" select="translate($MidData1, '!', '.')"/> |
| <xsl:variable name="MidData3" select="translate($MidData2, $apos, '')"/> |
| <xsl:variable name="MidData4" select="translate($MidData3, '=', '')"/> |
| <xsl:variable name="TableName" select="substring-before($MidData4,'.')"/> |
| <xsl:variable name="MidData5" select="concat(substring-before($MidData4,':'), ':', $TableName, '.', substring-after($MidData4,':'))"/> |
| <xsl:value-of select="$MidData5"/--> |
| <xsl:analyze-string select="substring-after($data-area,'=')" regex="{','}"> |
| <xsl:non-matching-substring> |
| <xsl:variable name="tablename" select="substring-before(substring-after(.,$apos),$apos)"/> |
| <xsl:analyze-string select="." regex="{':'}"> |
| <xsl:non-matching-substring> |
| <xsl:choose> |
| <xsl:when test="contains(.,$tablename)"> |
| <xsl:value-of select="translate(translate(.,$apos,''),'!','.')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($tablename,'.',.)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:non-matching-substring> |
| <xsl:matching-substring> |
| <xsl:value-of select="."/> |
| </xsl:matching-substring> |
| </xsl:analyze-string> |
| </xsl:non-matching-substring> |
| <xsl:matching-substring> |
| <xsl:value-of select="' '"/> |
| </xsl:matching-substring> |
| </xsl:analyze-string> |
| </xsl:template> |
| <xsl:template name="CalCellRange"> |
| <xsl:for-each select="图表:图表类型组集_E74C/图表:组_E74D/图表:数据系列集_E74E"> |
| <xsl:for-each select="图表:数据系列_E74F"> |
| <xsl:variable name="odf-area"> |
| <xsl:call-template name="transform-data-area"> |
| <xsl:with-param name="data-area" select="@值_E775"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:value-of select="$odf-area"/> |
| <xsl:value-of select="' '"/> |
| <xsl:if test="@名称_E774 and contains(@名称_E774, '!') and contains(@名称_E774, ':')"> |
| <xsl:variable name="odf-legend"> |
| <xsl:call-template name="transform-data-area"> |
| <xsl:with-param name="data-area" select="@名称_E774"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:value-of select="$odf-legend"/> |
| <xsl:value-of select="' '"/> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:if test="contains(图表:数据系列_E74F[1]/@分类名_E776, '!') and contains(图表:数据系列_E74F[1]/@分类名_E776, ':')"> |
| <xsl:variable name="odf-cata"> |
| <xsl:call-template name="transform-data-area"> |
| <xsl:with-param name="data-area" select="图表:数据系列_E74F[1]/@分类名_E776"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:value-of select="$odf-cata"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="图表:标题_E736" mode="chartbody"> |
| <xsl:param name="ChartSize"/> |
| <xsl:variable name="plotAreaX"> |
| <xsl:for-each select="../.."> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'x'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="plotAreaWidth"> |
| <xsl:for-each select="../.."> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'width'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="plotAreaY"> |
| <xsl:for-each select="../.."> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'y'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="plotAreaHeight"> |
| <xsl:for-each select="../.."> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'height'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:variable> |
| <chart:title> |
| <xsl:attribute name="chart:style-name" select="generate-id(.)"/> |
| <xsl:for-each select="图表:位置_E70A"> |
| <xsl:variable name="svgX"> |
| <xsl:choose> |
| <xsl:when test="@x_C606"> |
| <xsl:value-of select="concat(@x_C606,$uofUnit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat(number($plotAreaX) + number($plotAreaWidth) div 2.3,$uofUnit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="svgY"> |
| <xsl:choose> |
| <xsl:when test="@y_C607"> |
| <xsl:value-of select="concat(@y_C607,$uofUnit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat(number($ChartSize/@长_C604) * 0.02,$uofUnit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="svg:x"><xsl:value-of select="$svgX"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="$svgY"/></xsl:attribute> |
| </xsl:for-each> |
| <text:p> |
| <xsl:value-of select="@名称_E742"/> |
| </text:p> |
| </chart:title> |
| </xsl:template> |
| <xsl:template match="图表:图例_E794" mode="chartbody"> |
| <xsl:param name="ChartSize"/> |
| <xsl:variable name="plotAreaX"> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'x'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="plotAreaWidth"> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'width'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="plotAreaY"> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'y'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="plotAreaHeight"> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'height'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="paddingX" select="number($ChartSize/@宽_C605) * 0.16"/> |
| <xsl:variable name="paddingY" select="number($ChartSize/@长_C604) * 0.16"/> |
| <chart:legend chart:style-name="legend"> |
| <xsl:variable name="legend-position"> |
| <xsl:choose> |
| <xsl:when test="图表:图例位置_E795='right'">end</xsl:when> |
| <xsl:when test="图表:图例位置_E795='bottom'">bottom</xsl:when> |
| <xsl:when test="图表:图例位置_E795='top'">top</xsl:when> |
| <xsl:when test="图表:图例位置_E795='left'">start</xsl:when> |
| <xsl:when test="图表:图例位置_E795='corner'">top-end</xsl:when> |
| <xsl:otherwise>end</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="chart:legend-position"><xsl:value-of select="$legend-position"/></xsl:attribute> |
| <xsl:variable name="xPos"> |
| <xsl:choose> |
| <xsl:when test="图表:位置_E70A/@x_C606"> |
| <xsl:value-of select="图表:位置_E70A/@x_C606"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <!--xsl:if test="../@表:宽度"--> |
| <xsl:if test="$ChartSize/@宽_C605"> |
| <xsl:choose> |
| <xsl:when test="contains($legend-position, 'end')"> |
| <xsl:value-of select="number($plotAreaX) + number($plotAreaWidth) + number($paddingX)"/> |
| </xsl:when> |
| <xsl:when test="$legend-position = 'start'"> |
| <xsl:value-of select="number($ChartSize/@宽_C605) * 0.0199"/> |
| </xsl:when> |
| <xsl:when test="$legend-position = 'top'"> |
| <xsl:value-of select="number($plotAreaX) + number($plotAreaWidth) div 2.3"/> |
| </xsl:when> |
| <xsl:when test="$legend-position = 'bottom'"> |
| <xsl:value-of select="number($plotAreaX) + number($plotAreaWidth) div 2.3"/> |
| </xsl:when> |
| <xsl:when test="$legend-position = 'corner'"> |
| <xsl:value-of select="number($plotAreaX) + number($plotAreaWidth) + number($paddingX)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="这是一个不应出现的值"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="yPos"> |
| <xsl:choose> |
| <xsl:when test="图表:位置_E70A/@y_C607"> |
| <xsl:value-of select="图表:位置_E70A/@y_C607"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- Waiting. --> |
| <xsl:choose> |
| <xsl:when test="$legend-position = 'end'"> |
| <xsl:value-of select="number($ChartSize/@长_C604) * 0.364"/> |
| </xsl:when> |
| <xsl:when test="$legend-position = 'start'"> |
| <xsl:value-of select="number($ChartSize/@长_C604) * 0.364"/> |
| </xsl:when> |
| <xsl:when test="contains($legend-position, 'top')"> |
| <xsl:value-of select="number($plotAreaY) - number($plotAreaHeight) * 0.2"/> |
| </xsl:when> |
| <xsl:when test="$legend-position = 'bottom'"> |
| <xsl:value-of select="number($plotAreaY) + number($plotAreaHeight) + number($paddingY)"/> |
| </xsl:when> |
| <xsl:when test="$legend-position = 'corner'"> |
| <xsl:value-of select="number($ChartSize/@长_C604) * 0.25"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="这是一个不应该出现的值"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="string($xPos) != '' and string($xPos) != 'NaN'"> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat($xPos, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string($yPos) != '' and string($xPos) != 'NaN'"> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat($yPos, $uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="chart:style-name">legend</xsl:attribute> |
| </chart:legend> |
| </xsl:template> |
| <xsl:template match="图表:坐标轴_E791" mode="chartbody"> |
| <chart:axis> |
| <xsl:attribute name="chart:style-name" select="generate-id(.)"/> |
| <xsl:attribute name="chart:name" select="concat(generate-id(.),'-a')"/> |
| <xsl:choose> |
| <xsl:when test="@子类型_E793='date' or @子类型_E793='category'"> |
| <xsl:attribute name="chart:dimension" select="'x'"/> |
| <xsl:for-each select="../../图表:图表类型组集_E74C/图表:组_E74D/图表:数据系列集_E74E/图表:数据系列_E74F[1]"> |
| <xsl:variable name="categories_value" select="string(@分类名_E776)"/> |
| <xsl:variable name="cellrangeTem"> |
| <xsl:choose> |
| <xsl:when test="contains($categories_value, ':')"> |
| <xsl:call-template name="transform-data-area"> |
| <xsl:with-param name="data-area" select="$categories_value"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$categories_value"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="cellrange"> |
| <xsl:choose> |
| <xsl:when test="ends-with($cellrangeTem,' ')"> |
| <xsl:value-of select="substring($cellrangeTem,1,string-length($cellrangeTem)-1)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$cellrangeTem"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="$cellrange!=''"> |
| <chart:categories> |
| <xsl:attribute name="table:cell-range-address"><xsl:value-of select="$cellrange"/></xsl:attribute> |
| </chart:categories> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="@子类型_E793='value' or @主类型_E792 = 'secondary'"> |
| <xsl:attribute name="chart:dimension" select="'y'"/> |
| </xsl:when> |
| <xsl:when test="@子类型_E793='series'"> |
| <xsl:attribute name="chart:dimension" select="'z'"/> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:for-each select="图表:网格线集_E733/图表:网格线_E734"> |
| <chart:grid> |
| <xsl:attribute name="chart:class" select="@位置_E735"/> |
| <xsl:attribute name="chart:style-name" select="generate-id(.)"/> |
| </chart:grid> |
| </xsl:for-each> |
| <xsl:variable name="ChartName" select="../../../@标识符_E828"/> |
| <!--anchor for chart--> |
| <xsl:variable name="AnchorChart" select="key('rel_graphic_name',key('graph4chart',$ChartName)/@标识符_804B)"/> |
| <xsl:apply-templates mode="chartbody" select="图表:标题_E736"> |
| <xsl:with-param name="ChartSize" select="$AnchorChart/uof:大小_C621"/> |
| </xsl:apply-templates> |
| </chart:axis> |
| </xsl:template> |
| <xsl:template match="图表:数据系列集_E74E" mode="chartbody"> |
| <xsl:for-each select="图表:数据系列_E74F"> |
| <chart:series> |
| <xsl:attribute name="chart:style-name"><xsl:value-of select="concat('DataSerial',position())"/></xsl:attribute> |
| <xsl:variable name="attached-axis"> |
| <xsl:choose> |
| <xsl:when test="@系列坐标系_E779"> |
| <xsl:value-of select="generate-id(ancestor::图表:绘图区_E747/图表:坐标轴集_E790/图表:坐标轴_E791[@子类型_E793='value' and @主类型_E792=current()/@系列坐标系_E779])"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="generate-id(ancestor::图表:绘图区_E747/图表:坐标轴集_E790/图表:坐标轴_E791[@子类型_E793='value' and @主类型_E792='primary'])"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="chart:attached-axis" select="concat($attached-axis,'-a')"/> |
| <xsl:variable name="value_address"> |
| <xsl:call-template name="transform-data-area"> |
| <xsl:with-param name="data-area" select="@值_E775"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="chart:values-cell-range-address"><xsl:value-of select="$value_address"/></xsl:attribute> |
| <xsl:if test="@名称_E774 and contains(@名称_E774, ':')"> |
| <xsl:variable name="label_address"> |
| <xsl:call-template name="transform-data-area"> |
| <xsl:with-param name="data-area" select="@名称_E774"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="chart:label-cell-address"><xsl:value-of select="$label_address"/></xsl:attribute> |
| </xsl:if> |
| <xsl:variable name="series-class"> |
| <xsl:choose> |
| <xsl:when test="@类型_E75D = 'bar'">chart:bar</xsl:when> |
| <xsl:when test="@类型_E75D = 'column'">chart:bar</xsl:when> |
| <xsl:when test="@类型_E75D = 'line'">chart:line</xsl:when> |
| <xsl:when test="@类型_E75D = 'pie'">chart:circle</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="chart:class"><xsl:value-of select="$series-class"/></xsl:attribute> |
| <xsl:for-each select="图表:数据点集_E755/图表:数据点_E756"> |
| <xsl:variable name="precedingPoint"> |
| <xsl:choose> |
| <xsl:when test="position() = 1">0</xsl:when> |
| <xsl:when test="preceding-sibling::*[1]"> |
| <xsl:value-of select="preceding-sibling::*[1]/@点_E757"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="currentPoint" select="@点_E757"/> |
| <xsl:element name="chart:data-point"> |
| <xsl:attribute name="chart:style-name"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| <xsl:if test="number($currentPoint) != number($precedingPoint) + 1"> |
| <xsl:attribute name="chart:repeated"><xsl:value-of select="number($currentPoint) - number($precedingPoint)"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| <!-- no supported function in ODF : YinDaoXian --> |
| </xsl:for-each> |
| <!-- no supported function in ODF : one series with only one error bars --> |
| <xsl:for-each select="图表:误差线集_E759/图表:误差线_E75A"> |
| <chart:error-indicator> |
| <xsl:attribute name="chart:style-name" select="generate-id(.)"/> |
| </chart:error-indicator> |
| </xsl:for-each> |
| <!-- no supported function in ODF : one series with only one trendline --> |
| <xsl:for-each select="图表:趋势线集_E762/图表:趋势线_E763[1]"> |
| <chart:regression-curve> |
| <xsl:attribute name="chart:style-name" select="generate-id(.)"/> |
| <chart:equation> |
| <xsl:if test="@是否显示R平方值_E771='false' or @是否显示R平方值_E771='0'"> |
| <xsl:attribute name="chart:display-r-square" select="'false'"/> |
| </xsl:if> |
| <xsl:if test="@是否显示公式_E770='false' or @是否显示公式_E770='0'"> |
| <xsl:attribute name="chart:display-equation" select="'false'"/> |
| </xsl:if> |
| </chart:equation> |
| </chart:regression-curve> |
| <!-- no supported function in ODF : @ 值 名称 截距 前推预测周期 倒退预测周期;图例项 --> |
| </xsl:for-each> |
| </chart:series> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="PlotArea4chart"> |
| <xsl:param name="ChartSize"/> |
| <chart:plot-area chart:style-name="plot-area"> |
| <xsl:for-each select="图表:绘图区_E747"> |
| <xsl:variable name="cellrangeTem"> |
| <xsl:choose> |
| <xsl:when test="图表:数据区域_E74B"> |
| <xsl:call-template name="transform-data-area"> |
| <xsl:with-param name="data-area" select="图表:数据区域_E74B"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="CalCellRange"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="cellrange"> |
| <xsl:choose> |
| <xsl:when test="ends-with($cellrangeTem,' ')"> |
| <xsl:value-of select="substring($cellrangeTem,1,string-length($cellrangeTem)-1)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$cellrangeTem"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="table:cell-range-address"><xsl:value-of select="$cellrange"/></xsl:attribute> |
| <!--<xsl:variable name="svgWidth"> |
| <xsl:choose> |
| <xsl:when test="表:大小_E748/@宽_C605"> |
| <xsl:value-of select="concat(表:大小_E748/@宽_C605,$uofUnit)"/> |
| </xsl:when> |
| <xsl:when test="../../表:图例_E794/表:大小_E748/@宽_C605 and (number($ChartSize/@长_C604) *0.8 > number(../../表:图例_E794/表:位置_E70A/@x_C606))"> |
| <xsl:value-of select="concat((number($ChartSize/@长_C604) - number(../../表:图例_E794/表:大小_E748/@宽_C605)) * 0.8,$uofUnit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| |
| <xsl:value-of select="concat(number($ChartSize/@长_C604)*0.8,$uofUnit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="svgHeight"> |
| <xsl:choose> |
| <xsl:when test="表:大小_E748/@长_C604"> |
| <xsl:value-of select="concat(表:大小_E748/@长_C604,$uofUnit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| |
| <xsl:value-of select="concat(number($ChartSize/@宽_C605)*0.7,$uofUnit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="svgX"> |
| <xsl:choose> |
| <xsl:when test="表:位置_E70A/@x_C606"> |
| <xsl:value-of select="concat(表:位置_E70A/@x_C606,$uofUnit)"/> |
| </xsl:when> |
| <xsl:when test="../表:图例_E794/表:图例位置_E795 = 'left'">2.067cm</xsl:when> |
| <xsl:when test="表:坐标轴集_E790/表:坐标轴_E791[@主类型_E792 = 'secondary']/表:标题_E736"> |
| <xsl:value-of select="concat(number(表:大小_E748/@长_C604)*0.1,$uofUnit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat(number(表:大小_E748/@长_C604)*0.06,$uofUnit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="svgY"> |
| <xsl:choose> |
| <xsl:when test="表:位置_E70A/@y_C607"> |
| <xsl:value-of select="concat(表:位置_E70A/@y_C607,$uofUnit)"/> |
| </xsl:when> |
| <xsl:when test="../表:图例_E794/表:图例位置_E795 = 'bottom'">0.1cm</xsl:when> |
| <xsl:when test="表:坐标轴集_E790/表:坐标轴_E791/表:标题_E736"> |
| <xsl:value-of select="concat(number(表:大小_E748/@宽_C605)*0.1,$uofUnit)"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable>--> |
| <xsl:variable name="svgWidth"> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'width'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="svgHeight"> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'height'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="svgX"> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'x'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="svgY"> |
| <xsl:call-template name="PlotAreaSize"> |
| <xsl:with-param name="param" select="'y'"/> |
| <xsl:with-param name="ChartSize" select="$ChartSize"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat($svgWidth,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat($svgHeight,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat($svgX,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat($svgY,$uofUnit)"/></xsl:attribute> |
| <xsl:for-each select="图表:坐标轴集_E790"> |
| <!-- 按轴定义的先后次序判断主次 --> |
| <xsl:apply-templates select="图表:坐标轴_E791[@主类型_E792='primary']" mode="chartbody"/> |
| <xsl:apply-templates select="图表:坐标轴_E791[not(@主类型_E792='primary')]" mode="chartbody"/> |
| </xsl:for-each> |
| <xsl:for-each select="图表:图表类型组集_E74C/图表:组_E74D"> |
| <xsl:apply-templates select="图表:数据系列集_E74E" mode="chartbody"/> |
| <xsl:for-each select="图表:跌柱线_E77E"> |
| <chart:stock-loss-marker> |
| <xsl:attribute name="chart:style-name" select="generate-id(.)"/> |
| </chart:stock-loss-marker> |
| </xsl:for-each> |
| <xsl:for-each select="图表:涨柱线_E780"> |
| <chart:stock-gain-marker> |
| <xsl:attribute name="chart:style-name" select="generate-id(.)"/> |
| </chart:stock-gain-marker> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:for-each> |
| <chart:wall> |
| <xsl:attribute name="chart:style-name">chart-wall</xsl:attribute> |
| </chart:wall> |
| <chart:floor> |
| <xsl:attribute name="chart:style-name">chart-floor</xsl:attribute> |
| </chart:floor> |
| </chart:plot-area> |
| </xsl:template> |
| <xsl:template name="PlotAreaSize"> |
| <xsl:param name="param"/> |
| <xsl:param name="ChartSize"/> |
| <xsl:variable name="PaddingX" select="number($ChartSize/@宽_C605) * number(0.04)"/> |
| <xsl:variable name="PaddingY" select="number($ChartSize/@长_C604) * number(0.019)"/> |
| <xsl:for-each select=".."> |
| <xsl:variable name="legendPosX"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:位置_E70A/@x_C606"> |
| <xsl:choose> |
| <xsl:when test="number(图表:图例_E794/图表:位置_E70A/@x_C606) < number($ChartSize/@宽_C605) div 3"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:大小_E748/@宽_C605"> |
| <xsl:value-of select="number(图表:图例_E794/图表:位置_E70A/@x_C606) + number(图表:图例_E794/图表:大小_E748/@宽_C605) + $PaddingX"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(图表:图例_E794/图表:位置_E70A/@x_C606) + number($ChartSize/@宽_C605) * 0.12 + $PaddingX"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="图表:图例_E794/图表:图例位置_E795 = 'left'"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:大小_E748/@宽_C605"> |
| <xsl:value-of select="$PaddingX + number(图表:图例_E794/图表:大小_E748/@宽_C605) + number($ChartSize/@宽_C605) * 0.02"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$PaddingX + number($ChartSize/@宽_C605) * 0.12 + number($ChartSize/@宽_C605) * 0.02"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="legendPosY"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:位置_E70A/@y_C607"> |
| <xsl:choose> |
| <xsl:when test="number(图表:图例_E794/图表:位置_E70A/@y_C607) < number($ChartSize/@长_C604) div 3"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:大小_E748/@长_C604"> |
| <xsl:value-of select="number(图表:图例_E794/图表:位置_E70A/@y_C607) + number(图表:图例_E794/图表:大小_E748/@长_C604) + $PaddingY"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(图表:图例_E794/图表:位置_E70A/@y_C607) + number($ChartSize/@长_C604) div 3 + $PaddingY"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="图表:图例_E794/图表:图例位置_E795 = 'top'"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:大小_E748/@长_C604"> |
| <xsl:value-of select="$PaddingY + number(图表:图例_E794/图表:大小_E748/@长_C604) + number($ChartSize/@长_C604) * 0.02"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$PaddingY + number($ChartSize/@长_C604) * 0.12 + number($ChartSize/@长_C604) * 0.02"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="legendWidth"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:位置_E70A/@x_C606"> |
| <xsl:choose> |
| <xsl:when test="(number(图表:图例_E794/图表:位置_E70A/@x_C606) < number($ChartSize/@宽_C605) div 3) or (number(图表:图例_E794/图表:位置_E70A/@x_C606) > number($ChartSize/@宽_C605) *2 div 3)"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:大小_E748/@宽_C605"> |
| <xsl:value-of select="number(图表:图例_E794/图表:大小_E748/@宽_C605)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($ChartSize/@宽_C605) * 0.12"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="图表:图例_E794/图表:图例位置_E795 = 'left' or 图表:图例_E794/图表:图例位置_E795 = 'right'"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:大小_E748/@宽_C605"> |
| <xsl:value-of select="number(图表:图例_E794/图表:大小_E748/@宽_C605)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($ChartSize/@宽_C605) * 0.12"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="legendHeight"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:位置_E70A/@y_C607"> |
| <xsl:choose> |
| <xsl:when test="(number(图表:图例_E794/图表:位置_E70A/@y_C607) < number($ChartSize/@长_C604) div 3) or (number(图表:图例_E794/图表:位置_E70A/@y_C607) > number($ChartSize/@长_C604) *2 div 3)"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:大小_E748/@长_C604"> |
| <xsl:value-of select="number(图表:图例_E794/图表:大小_E748/@长_C604)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($ChartSize/@长_C604) div 3"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="图表:图例_E794/图表:图例位置_E795 = 'top' or 图表:图例_E794/图表:图例位置_E795 = 'bottom'"> |
| <xsl:choose> |
| <xsl:when test="图表:图例_E794/图表:大小_E748/@长_C604"> |
| <xsl:value-of select="number(图表:图例_E794/图表:大小_E748/@长_C604)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($ChartSize/@长_C604) div 3"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="titlePosX"> |
| <xsl:choose> |
| <xsl:when test="图表:绘图区_E747/图表:坐标轴集_E790/图表:坐标轴_E791[@子类型_E793 = 'value']/图表:标题_E736/图表:位置_E70A"> |
| <xsl:choose> |
| <xsl:when test="图表:绘图区_E747/图表:坐标轴集_E790/图表:坐标轴_E791[@子类型_E793 = 'value']/图表:标题_E736/图表:位置_E70A/@x_C606"> |
| <xsl:value-of select="图表:绘图区_E747/图表:坐标轴集_E790/图表:坐标轴_E791[@子类型_E793 = 'value']/图表:标题_E736/图表:位置_E70A/@x_C606"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($ChartSize/@宽_C605)*0.07 + number($ChartSize/@宽_C605) * 0.02 + number($ChartSize/@宽_C605) * 0.02"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="titlePosY"> |
| <xsl:choose> |
| <xsl:when test="图表:标题_E736/图表:位置_E70A"> |
| <xsl:choose> |
| <xsl:when test="图表:标题_E736/图表:位置_E70A/@y_C607"> |
| <xsl:value-of select="图表:标题_E736/图表:位置_E70A/@y_C607"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($ChartSize/@长_C604) * 0.07 + number($ChartSize/@长_C604) * 0.02 + number($ChartSize/@长_C604) * 0.02"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="titleWidth"> |
| <xsl:choose> |
| <xsl:when test="图表:绘图区_E747/图表:坐标轴集_E790/图表:坐标轴_E791[@子类型_E793 = 'category']/图表:标题_E736/图表:位置_E70A/@x_C606"> |
| <xsl:value-of select="number($ChartSize/@长_C604) * 0.0689"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="categoryTitleHeight"> |
| <xsl:choose> |
| <xsl:when test="图表:绘图区_E747/图表:坐标轴集_E790/图表:坐标轴_E791[@子类型_E793 = 'category']/图表:标题_E736/图表:位置_E70A/@y_C607"> |
| <xsl:value-of select="number($ChartSize/@长_C604) * 0.0689"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="titleHeight"> |
| <xsl:choose> |
| <xsl:when test="图表:标题_E736/图表:位置_E70A/@y_C607"> |
| <xsl:value-of select="number($ChartSize/@长_C604) *0.0689"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$param = 'width'"> |
| <xsl:choose> |
| <xsl:when test="图表:绘图区_E747/图表:大小_E748/@宽_C605"> |
| <xsl:value-of select="图表:绘图区_E747/图表:大小_E748/@宽_C605"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="(($ChartSize/@宽_C605) - number($legendWidth) - number($titleWidth)) *0.9"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$param = 'height'"> |
| <xsl:choose> |
| <xsl:when test="图表:绘图区_E747/图表:大小_E748/@长_C604"> |
| <xsl:value-of select="图表:绘图区_E747/图表:大小_E748/@长_C604"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="(number($ChartSize/@长_C604) - number($legendHeight) - number($titleHeight) - number($titleHeight)) *0.9"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$param = 'x'"> |
| <xsl:choose> |
| <xsl:when test="图表:绘图区_E747/图表:位置_E70A/@x_C606"> |
| <xsl:value-of select="图表:绘图区_E747/图表:位置_E70A/@x_C606"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($legendPosX) + number($titlePosX) + ($ChartSize/@宽_C605) * 0.05"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$param = 'y'"> |
| <xsl:choose> |
| <xsl:when test="图表:绘图区_E747/图表:位置_E70A/@y_C607"> |
| <xsl:value-of select="图表:绘图区_E747/图表:位置_E70A/@y_C607"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($legendPosY) + number($titlePosY) + ($ChartSize/@长_C604) * 0.1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="CreateTmpLocTable"> |
| <table:table-header-rows> |
| <table:table-row> |
| <xsl:if test="图表:绘图区_E747/图表:图表类型组集_E74C/图表:组_E74D/图表:数据系列集_E74E/图表:数据系列_E74F[@分类名_E776][1]/图表:数据标签_E752/@是否显示分类名_E716 = 'true'"> |
| <xsl:for-each select="图表:绘图区_E747/图表:图表类型组集_E74C/图表:组_E74D/图表:数据系列集_E74E/图表:数据系列_E74F[@分类名_E776][1]"> |
| <xsl:variable name="IsRightCatalog"> |
| <xsl:choose> |
| <xsl:when test="@分类名_E776 and contains(@分类名_E776, '!') and contains(@分类名_E776, '=')"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'false'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="CatalogValue"> |
| <xsl:choose> |
| <xsl:when test="$IsRightCatalog = 'true'"> |
| <xsl:call-template name="All-Header-Cell"> |
| <xsl:with-param name="HeaderAddress" select="@分类名_E776"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="@分类名_E776"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="Set-Catalog-Cell"> |
| <xsl:with-param name="SeriesPos" select="position()"/> |
| <xsl:with-param name="CatalogValue" select="$CatalogValue"/> |
| <xsl:with-param name="IsRightCatalog" select="$IsRightCatalog"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| </table:table-row> |
| </table:table-header-rows> |
| <table:table-rows> |
| <xsl:for-each select="图表:绘图区_E747/图表:图表类型组集_E74C/图表:组_E74D/图表:数据系列集_E74E/图表:数据系列_E74F"> |
| <xsl:variable name="data-area" select="@值_E775"/> |
| <xsl:variable name="sAddress"> |
| <xsl:choose> |
| <xsl:when test="contains($data-area, ':')"> |
| <xsl:value-of select="substring-after(substring-before($data-area, ':'), '!')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-after($data-area, '!')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="eAddress"> |
| <xsl:choose> |
| <xsl:when test="contains($data-area, ':')"> |
| <xsl:value-of select="substring-after($data-area, ':')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-after($data-area, '!')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="sDivPos"> |
| <xsl:call-template name="DivCellPos"> |
| <xsl:with-param name="CellAddress" select="$sAddress"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="eDivPos"> |
| <xsl:call-template name="DivCellPos"> |
| <xsl:with-param name="CellAddress" select="$eAddress"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="nStartCol"> |
| <xsl:call-template name="CellColNum"> |
| <xsl:with-param name="CellAddress" select="$sAddress"/> |
| <xsl:with-param name="DivPos" select="$sDivPos"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="nEndCol"> |
| <xsl:call-template name="CellColNum"> |
| <xsl:with-param name="CellAddress" select="$eAddress"/> |
| <xsl:with-param name="DivPos" select="$eDivPos"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="nStartRow"> |
| <xsl:value-of select="number(substring($sAddress, $sDivPos+1))"/> |
| </xsl:variable> |
| <xsl:variable name="nEndRow"> |
| <xsl:value-of select="number(substring($eAddress, $eDivPos+1))"/> |
| </xsl:variable> |
| <xsl:variable name="TableName"> |
| <xsl:variable name="Tmp1" select="substring-before($data-area, '!')"/> |
| <xsl:value-of select="substring($data-area, 3, (string-length($Tmp1) - 3))"/> |
| </xsl:variable> |
| <xsl:variable name="IsRightSeriesName"> |
| <xsl:choose> |
| <xsl:when test="@名称_E774 and contains(@名称_E774, '!') and contains(@名称_E774, '=')"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'false'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="SeriesNameValue"> |
| <xsl:choose> |
| <xsl:when test="$IsRightSeriesName = 'true'"> |
| <xsl:call-template name="All-Header-Cell"> |
| <xsl:with-param name="HeaderAddress" select="@名称_E774"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="@名称_E774"> |
| <xsl:value-of select="@名称_E774"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat('系列', position())"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="SeriesPos" select="position()"/> |
| <table:table-row> |
| <xsl:call-template name="Set-Series-Cell"> |
| <xsl:with-param name="SeriesPos" select="position()"/> |
| <xsl:with-param name="SeriesNameValue" select="$SeriesNameValue"/> |
| <xsl:with-param name="IsRightSeriesName" select="$IsRightSeriesName"/> |
| </xsl:call-template> |
| <xsl:for-each select="/uof:UOF_0000/uof:电子表格/表:主体/表:工作表[string(@表:名称) = string($TableName)]"> |
| <xsl:variable name="var_TextID" select="concat(string($TableName),'.',string($sAddress),':',string($TableName),'.',string($eAddress))"/> |
| <xsl:for-each select="表:工作表内容/表:行[number(@表:行号) > (number($nStartRow) - 1)][number(@表:行号) < (number($nEndRow) + 1)]"> |
| <xsl:for-each select="表:单元格[number(@表:列号) > (number($nStartCol) - 1) and number(@表:列号) < (number($nEndCol) + 1)]"> |
| <xsl:apply-templates select="." mode="chart"> |
| <xsl:with-param name="par_TextID" select="$var_TextID"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:for-each> |
| </table:table-row> |
| </xsl:for-each> |
| </table:table-rows> |
| </xsl:template> |
| <xsl:template match="表:单元格" mode="chart"> |
| <xsl:param name="par_TextID" select="''"/> |
| <table:table-cell> |
| <xsl:variable name="cellContent"> |
| <xsl:for-each select="表:数据/字:句"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="表:数据/@表:数据类型 = 'text'"> |
| <xsl:attribute name="office:value-type" select="'string'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="office:value-type" select="'float'"/> |
| <xsl:attribute name="office:value" select="string($cellContent)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| <text:p> |
| <xsl:if test="$par_TextID != ''"> |
| <xsl:attribute name="text:id" select="$par_TextID"/> |
| </xsl:if> |
| <xsl:value-of select="$cellContent"/> |
| </text:p> |
| </table:table-cell> |
| </xsl:template> |
| <xsl:template name="DivCellPos"> |
| <xsl:param name="CellAddress"/> |
| <xsl:variable name="x2" select="substring($CellAddress, 2, 1)"/> |
| <xsl:variable name="x3" select="substring($CellAddress, 3, 1)"/> |
| <xsl:choose> |
| <xsl:when test="not($x3 < 'A') and not($x3 > 'Z')"> |
| <xsl:value-of select="3"/> |
| </xsl:when> |
| <xsl:when test="not($x2 < 'A') and not($x2 > 'Z')"> |
| <xsl:value-of select="2"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="CellColNum"> |
| <xsl:param name="CellAddress"/> |
| <xsl:param name="DivPos"/> |
| <xsl:variable name="StartCol"> |
| <xsl:value-of select="substring($CellAddress, 1, $DivPos)"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$DivPos = 1"> |
| <xsl:value-of select="string-to-codepoints(substring($CellAddress, 1, 1)) - string-to-codepoints('A') + 1"/> |
| </xsl:when> |
| <xsl:when test="$DivPos = 2"> |
| <xsl:variable name="high" select="string-to-codepoints(substring($CellAddress, 2, 1)) - string-to-codepoints('A') + 1"/> |
| <xsl:variable name="low" select="string-to-codepoints(substring($CellAddress, 1, 1)) - string-to-codepoints('A') + 1"/> |
| <xsl:value-of select="$high * 26 + $low"/> |
| </xsl:when> |
| <xsl:when test="$DivPos = 3"> |
| <xsl:variable name="high" select="string-to-codepoints(substring($CellAddress, 3, 1)) - string-to-codepoints('A') + 1"/> |
| <xsl:variable name="mid" select="string-to-codepoints(substring($CellAddress, 2, 1)) - string-to-codepoints('A') + 1"/> |
| <xsl:variable name="low" select="string-to-codepoints(substring($CellAddress, 1, 1)) - string-to-codepoints('A') + 1"/> |
| <xsl:value-of select="$high * 26 * 26 + $mid * 26 + $low"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="All-Header-Cell"> |
| <xsl:param name="HeaderAddress"/> |
| <xsl:variable name="sAddress"> |
| <xsl:choose> |
| <xsl:when test="contains($HeaderAddress, ':')"> |
| <xsl:value-of select="substring-after(substring-before($HeaderAddress, ':'), '!')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-after($HeaderAddress, '!')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="sDivPos"> |
| <xsl:call-template name="DivCellPos"> |
| <xsl:with-param name="CellAddress" select="$sAddress"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="nStartCol"> |
| <xsl:call-template name="CellColNum"> |
| <xsl:with-param name="CellAddress" select="$sAddress"/> |
| <xsl:with-param name="DivPos" select="$sDivPos"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="nStartRow"> |
| <xsl:value-of select="number(substring($sAddress, $sDivPos+1))"/> |
| </xsl:variable> |
| <xsl:variable name="eAddress"> |
| <xsl:choose> |
| <xsl:when test="contains($HeaderAddress, ':')"> |
| <xsl:value-of select="substring-after($HeaderAddress, ':')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-after($HeaderAddress, '!')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="eDivPos"> |
| <xsl:choose> |
| <xsl:when test="$eAddress = ''"> |
| <xsl:value-of select="0"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="DivCellPos"> |
| <xsl:with-param name="CellAddress" select="$eAddress"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="nEndCol"> |
| <xsl:choose> |
| <xsl:when test="$eAddress = ''"> |
| <xsl:value-of select="$nStartCol"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="CellColNum"> |
| <xsl:with-param name="CellAddress" select="$eAddress"/> |
| <xsl:with-param name="DivPos" select="$eDivPos"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="nEndRow"> |
| <xsl:choose> |
| <xsl:when test="$eAddress = ''"> |
| <xsl:value-of select="$nStartRow"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number(substring($eAddress, $eDivPos+1))"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="TableName"> |
| <xsl:variable name="Tmp1" select="substring-before($HeaderAddress, '!')"/> |
| <xsl:value-of select="substring($HeaderAddress, 3, (string-length($Tmp1) - 3))"/> |
| </xsl:variable> |
| <xsl:variable name="var_TextID"> |
| <xsl:value-of select="concat( $TableName, '.' , $sAddress, ':', $TableName, '.' , $eAddress)"/> |
| </xsl:variable> |
| <xsl:for-each select="/uof:UOF_0000/uof:电子表格/表:主体/表:工作表[@表:名称 = $TableName]"> |
| <xsl:for-each select="表:工作表内容/表:行[@表:行号 > ($nStartRow - 1) and @表:行号 < ($nEndRow + 1)]"> |
| <xsl:for-each select="表:单元格[@表:列号 > ($nStartCol - 1) and @表:列号 < ($nEndCol + 1)]"> |
| <xsl:apply-templates select="." mode="chart"> |
| <xsl:with-param name="par_TextID" select="$var_TextID"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="Parse-Catelog-Cell"> |
| <xsl:param name="par_CatelogArray"/> |
| <xsl:choose> |
| <xsl:when test="contains($par_CatelogArray, ',')"> |
| <table:table-cell office:value-type="string"> |
| <text:p> |
| <xsl:value-of select="substring-before($par_CatelogArray, ',')"/> |
| </text:p> |
| </table:table-cell> |
| <xsl:call-template name="Parse-Catelog-Cell"> |
| <xsl:with-param name="par_CatelogArray" select="substring-after($par_CatelogArray, ',')"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <table:table-cell office:value-type="string"> |
| <text:p> |
| <xsl:value-of select="$par_CatelogArray"/> |
| </text:p> |
| </table:table-cell> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="Set-Catalog-Cell"> |
| <xsl:param name="SeriesPos"/> |
| <xsl:param name="CatalogValue"/> |
| <xsl:param name="IsRightCatalog"/> |
| <xsl:choose> |
| <xsl:when test="$IsRightCatalog = 'true'"> |
| <xsl:copy-of select="$CatalogValue"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="quot">"</xsl:variable> |
| <xsl:choose> |
| <xsl:when test="contains(string($CatalogValue), '{') and contains(string($CatalogValue), '}')"> |
| <xsl:call-template name="Parse-Catelog-Cell"> |
| <xsl:with-param name="par_CatelogArray" select="replace(substring-before(substring-after($CatalogValue, '{'), '}'), $quot, '')"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <table:table-cell office:value-type="string"> |
| <text:p> |
| <xsl:value-of select="$CatalogValue"/> |
| </text:p> |
| </table:table-cell> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="Set-Series-Cell"> |
| <xsl:param name="SeriesPos"/> |
| <xsl:param name="SeriesNameValue"/> |
| <xsl:param name="IsRightSeriesName"/> |
| <xsl:choose> |
| <xsl:when test="$IsRightSeriesName = 'true'"> |
| <xsl:for-each select="$SeriesNameValue/table:table-cell[1]"> |
| <xsl:copy-of select="."/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <table:table-cell office:value-type="string"> |
| <text:p> |
| <xsl:value-of select="$SeriesNameValue"/> |
| </text:p> |
| </table:table-cell> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="MaxColumninLocal-Table"> |
| <xsl:param name="CurMaxCol"/> |
| <xsl:choose> |
| <xsl:when test="following-sibling::table:table-row"> |
| <xsl:for-each select="following-sibling::table:table-row[1]"> |
| <xsl:variable name="NewMaxCol"> |
| <xsl:variable name="nColCount" select="count(table:table-cell)"/> |
| <xsl:choose> |
| <xsl:when test="CurMaxCol > nColCount"> |
| <xsl:value-of select="$CurMaxCol"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$nColCount"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="MaxColumninLocal-Table"> |
| <xsl:with-param name="CurMaxCol" select="$NewMaxCol"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$CurMaxCol"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="CreateEmptyTableCell"> |
| <xsl:param name="par_Num" select="number('0')"/> |
| <xsl:if test="number($par_Num) gt 0"> |
| <table:table-cell> |
| <text:p/> |
| </table:table-cell> |
| <xsl:call-template name="CreateEmptyTableCell"> |
| <xsl:with-param name="par_Num" select="number($par_Num) - 1"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="CreateDefaultCatelogs"> |
| <xsl:param name="par_Num" select="number('0')"/> |
| <xsl:if test="number($par_Num) gt 0"> |
| <xsl:call-template name="CreateDefaultCatelogs"> |
| <xsl:with-param name="par_Num" select="number($par_Num) - 1"/> |
| </xsl:call-template> |
| <table:table-cell office:value-type="string"> |
| <text:p> |
| <xsl:value-of select="$par_Num"/> |
| </text:p> |
| </table:table-cell> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="TableTable4chart"> |
| <table:table table:name="local-table"> |
| <xsl:variable name="reverse-row"> |
| <xsl:call-template name="CreateTmpLocTable"/> |
| </xsl:variable> |
| <!--test><xsl:copy-of select="$reverse-row"/></test--> |
| <xsl:variable name="ColCount"> |
| <xsl:for-each select="$reverse-row/table:table-rows/table:table-row[1]"> |
| <xsl:variable name="CurMaxCol" select="count(table:table-cell)"/> |
| <xsl:call-template name="MaxColumninLocal-Table"> |
| <xsl:with-param name="CurMaxCol" select="$CurMaxCol"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:variable> |
| <table:table-header-columns> |
| <table:table-column/> |
| </table:table-header-columns> |
| <table:table-columns> |
| <table:table-column> |
| <xsl:attribute name="table:number-columns-repeated" select="number($ColCount)-1"/> |
| </table:table-column> |
| </table:table-columns> |
| <!--table:table-header-rows--> |
| <table:table-header-rows> |
| <table:table-row> |
| <table:table-cell> |
| <text:p/> |
| </table:table-cell> |
| <xsl:for-each select="$reverse-row/table:table-header-rows/table:table-row"> |
| <xsl:choose> |
| <xsl:when test="count(table:table-cell) = 0"> |
| <xsl:call-template name="CreateDefaultCatelogs"> |
| <xsl:with-param name="par_Num" select="number($ColCount) - 1"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="count(table:table-cell) ge number($ColCount) - 1 "> |
| <xsl:copy-of select="table:table-cell[position() lt number($ColCount)]"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:copy-of select="table:table-cell"/> |
| <xsl:call-template name="CreateEmptyTableCell"> |
| <xsl:with-param name="par_Num" select="number($ColCount) - count(table:table-cell) - 1"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </table:table-row> |
| </table:table-header-rows> |
| <!--table:table-rows--> |
| <xsl:copy-of select="$reverse-row/table:table-rows"/> |
| </table:table> |
| </xsl:template> |
| <xsl:template name="LocalTableForChart"> |
| <xsl:param name="chartName"/> |
| <xsl:for-each select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201/扩展:扩展内容_B204[扩展:路径_B205 = $chartName]/扩展:内容_B206/扩展:local-table"> |
| <table:table table:name="local-table"> |
| <xsl:copy-of select="@*|node()"/> |
| </table:table> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template name="OfficeBody4chart"> |
| <office:body> |
| <office:chart> |
| <chart:chart> |
| <!--@xlink:href 用于读取local-table中的数据--> |
| <xsl:if test="$document_type != 'spreadsheet'"> |
| <xsl:attribute name="xlink:href" select="'.'"/> |
| </xsl:if> |
| <xsl:variable name="ChartName" select="@标识符_E828"/> |
| <!--anchor for chart--> |
| <xsl:variable name="AnchorChart" select="key('rel_graphic_name',key('graph4chart',$ChartName)/@标识符_804B)"/> |
| <xsl:for-each select="$AnchorChart"> |
| <xsl:for-each select="uof:位置_C620"> |
| <xsl:for-each select="uof:水平_4106/uof:绝对_4107"> |
| <xsl:if test="@值_4108"> |
| <xsl:attribute name="svg:x" select="concat(@值_4108,$uofUnit)"/> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:for-each select="uof:垂直_410D/uof:绝对_4107"> |
| <xsl:if test="@值_4108"> |
| <xsl:attribute name="svg:y" select="concat(@值_4108,$uofUnit)"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:for-each> |
| <xsl:for-each select="uof:大小_C621"> |
| <xsl:if test="@宽_C605"> |
| <xsl:attribute name="svg:width" select="concat(@宽_C605,$uofUnit)"/> |
| </xsl:if> |
| <xsl:if test="@长_C604"> |
| <xsl:attribute name="svg:height" select="concat(@长_C604,$uofUnit)"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:for-each> |
| <xsl:for-each select="图表:绘图区_E747/图表:图表类型组集_E74C/图表:组_E74D[1]/图表:数据系列集_E74E/图表:数据系列_E74F[1]"> |
| <xsl:variable name="table-type" select="@类型_E75D"/> |
| <xsl:variable name="table-subtype" select="@子类型_E777"/> |
| <xsl:variable name="odfclass"> |
| <xsl:choose> |
| <!--xsl:when test="$table-type='bar'">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:when test="$table-type='pie'"> |
| <xsl:value-of select="'chart:circle'"/> |
| </xsl:when> |
| <xsl:when test="$table-type='doughnut'"> |
| <xsl:value-of select="'chart:ring'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat('chart:',$table-type)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="chart:class" select="$odfclass"/> |
| </xsl:for-each> |
| <xsl:attribute name="chart:style-name">chart-area</xsl:attribute> |
| <!--UOF2.0的标题定义存在问题:坐标轴、图表下标题编号E736,E7A0不一致--> |
| <xsl:apply-templates select="图表:标题_E736" mode="chartbody"> |
| <xsl:with-param name="ChartSize" select="$AnchorChart/uof:大小_C621"/> |
| </xsl:apply-templates> |
| <xsl:apply-templates select="图表:图例_E794" mode="chartbody"> |
| <xsl:with-param name="ChartSize" select="$AnchorChart/uof:大小_C621"/> |
| </xsl:apply-templates> |
| <xsl:call-template name="PlotArea4chart"> |
| <xsl:with-param name="ChartSize" select="$AnchorChart/uof:大小_C621"/> |
| </xsl:call-template> |
| <xsl:choose> |
| <xsl:when test="$document_type != 'spreadsheet'"> |
| <!--处理文字处理和演示文稿模块的图表功能--> |
| <xsl:call-template name="LocalTableForChart"> |
| <xsl:with-param name="chartName" select="$ChartName"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="TableTable4chart"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </chart:chart> |
| </office:chart> |
| </office:body> |
| </xsl:template> |
| <xsl:template match="图表:图表_E837"> |
| <xsl:variable name="var_ObjectName"> |
| <xsl:variable name="var_GenerateID" select="generate-id(.)"/> |
| <xsl:value-of select="concat('./Object ',$var_GenerateID)"/> |
| </xsl:variable> |
| <xsl:element name="draw:frame"> |
| <!-- Waiting, 目前对图表的定位仍存在问题 xsl:attribute name="draw:z-index"><xsl:value-of select="'0'"/></xsl:attribute> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat(@表:宽度,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat(@表:高度,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat(@表:x坐标,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat(@表:y坐标,$uofUnit)"/></xsl:attribute--> |
| <xsl:element name="draw:object"> |
| <!-- no sure, these attributes's relation , xsl:attribute name="draw:notify-on-update-of-ranges"><xsl:choose><xsl:when test="表:数据源/@表:数据区域"><xsl:value-of select="表:数据源/@表:数据区域"/></xsl:when><xsl:otherwise><xsl:for-each select="表:数据源/表:系列"><xsl:if test="@表:系列值"><xsl:analyze-string select="@表:系列值" regex="='(.*?)'!([A-Z,a-z]{{1,2}}\d+):?([A-Z,a-z]{{1,2}}\d+)?"><xsl:matching-substring><xsl:choose><xsl:when test="regex-group(3) = ''"><xsl:value-of select="concat(regex-group(1), '.', regex-group(2))"/></xsl:when><xsl:otherwise><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(3))"/></xsl:otherwise></xsl:choose><xsl:value-of select="' '"/></xsl:matching-substring></xsl:analyze-string></xsl:if></xsl:for-each><xsl:for-each-group select="表:数据源/表:系列" group-by="@表:分类名"><xsl:analyze-string select="current-grouping-key()" regex="='(.*?)'!([A-Z,a-z]{{1,2}}\d+):?([A-Z,a-z]{{1,2}}\d+)?"><xsl:matching-substring><xsl:choose><xsl:when test="regex-group(3) = ''"><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(2))"/></xsl:when><xsl:otherwise><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(3))"/></xsl:otherwise></xsl:choose><xsl:value-of select="' '"/></xsl:matching-substring></xsl:analyze-string></xsl:for-each-group><xsl:for-each-group select="表:数据源/表:系列" group-by="@表:系列名"><xsl:analyze-string select="current-grouping-key()" regex="='(.*?)'!([A-Z,a-z]{{1,2}}\d+):?([A-Z,a-z]{{1,2}}\d+)?"><xsl:matching-substring><xsl:choose><xsl:when test="regex-group(3) = ''"><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(2))"/></xsl:when><xsl:otherwise><xsl:value-of select="concat(regex-group(1), '.', regex-group(2), ':', regex-group(1), '.', regex-group(3))"/></xsl:otherwise></xsl:choose><xsl:value-of select="' '"/></xsl:matching-substring></xsl:analyze-string></xsl:for-each-group></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="$var_ObjectName"/></xsl:attribute--> |
| <xsl:attribute name="xlink:type">simple</xsl:attribute> |
| <xsl:attribute name="xlink:show">embed</xsl:attribute> |
| <xsl:attribute name="xlink:actuate">onLoad</xsl:attribute> |
| </xsl:element> |
| </xsl:element> |
| </xsl:template> |
| <xsl:variable name="ooMaxColumnNum" select="1024"/> |
| <xsl:variable name="ooMaxRowNum" select="65536"/> |
| <!--xsl:template match="uof:锚点_C644|演:锚点_E7BA|uof:锚点_E7BA" mode="table"--> |
| <xsl:template match="uof:锚点_C644" mode="table"> |
| <xsl:call-template name="ObjectContent"/> |
| </xsl:template> |
| <!-- OASIS OpenDocument Format change: |
| Excel "=RC4*6" |
| OOoXML "=$D22*6" |
| OASIS XML "of:=[.$D22]*6" --> |
| <xsl:template name="translate-expression"> |
| <!-- return position or range for formula or other --> |
| <xsl:param name="cell-row-pos"/> |
| <!-- the position in row (vertical) of cell --> |
| <xsl:param name="cell-column-pos"/> |
| <!-- the position in column (horizontal of cell --> |
| <xsl:param name="expression"/> |
| <!-- as mode changes a '[.' resp. ']' is written out --> |
| <xsl:param name="return-value"/> |
| <!-- expression of table:cell-range-address is different than formula (e.g. no prefix) --> |
| <xsl:param name="isRangeAddress"/> |
| <!-- determines if RC translate --> |
| <xsl:param name="isRCtrans"/> |
| <!-- recomposed expression containing cell positions after every conversion --> |
| <xsl:param name="is-range-mode" select="'false'"/> |
| <!-- value to be given out later --> |
| <!-- to judge whether this input expression contains any cell position to convert --> |
| <xsl:variable name="temp-range"> |
| <xsl:choose> |
| <xsl:when test="$expression != ''"> |
| <xsl:call-template name="parse-range-name"> |
| <xsl:with-param name="expression" select="$expression"/> |
| <xsl:with-param name="return-value" select="''"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="''"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!-- if $range-type = 1, then range is representing a sheet, function's name or separated symbol, but not cell position, |
| or if $range-type = 2, range should be handled because it contains certain cell position. |
| The first character marks the type of that expression. --> |
| <xsl:variable name="range-type"> |
| <xsl:choose> |
| <xsl:when test="substring($temp-range, 1, 1) = '1'"> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:when test="substring($temp-range, 1, 1) = '2'"> |
| <xsl:value-of select="2"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="2"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!-- remove that added range type token --> |
| <xsl:variable name="current-range"> |
| <xsl:value-of select="substring($temp-range, 2)"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$range-type = 1"> |
| <!-- Nothing to convert, so just join the front and behind strings. --> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression"> |
| <!-- get current converting position from $temp-token or $current-range, then join the expression. --> |
| <xsl:choose> |
| <xsl:when test="contains($current-range, "'!")"> |
| <xsl:value-of select="substring-after($expression, '!')"/> |
| </xsl:when> |
| <xsl:when test="contains($current-range, '#$')"> |
| <!-- because of recomposing of string, the $current-range may not be the pit |
| of $expression, so the char #$ should not be used for nominal --> |
| <xsl:variable name="temp-token"> |
| <xsl:choose> |
| <xsl:when test="contains($current-range, '\')"> |
| <xsl:value-of select="concat(']', substring-after($current-range, '#$'), "'")"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-after($current-range, '#$')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="substring-after($expression, $temp-token)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-after($expression, $current-range)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="return-value"> |
| <!-- react on range mode change (when to insert closing ']' or in case of '!' change the mode to RANGE and create open '[' --> |
| <xsl:choose> |
| <xsl:when test="$current-range = '=' and $return-value = '' and not($isRangeAddress)"> |
| <xsl:text>of:=</xsl:text> |
| </xsl:when> |
| <xsl:when test="contains($current-range, '!') and not($isRangeAddress)"> |
| <xsl:choose> |
| <xsl:when test="$isRCtrans = 'true'"> |
| <xsl:value-of select="concat($return-value, '[', $current-range)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($return-value, $current-range)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="$is-range-mode = 'true' and $current-range != ':' and not($isRangeAddress)"> |
| <xsl:value-of select="concat($return-value, ']', substring-before($expression, $current-range), $current-range)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($return-value, substring-before($expression, $current-range), $current-range)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="is-range-mode"> |
| <xsl:choose> |
| <!-- ! is the separator of worksheet and range |
| : is the separator for a cell range --> |
| <xsl:when test="contains($current-range, '!') or $current-range = ':'"> |
| <xsl:value-of select="'true'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'false'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="isRangeAddress" select="$isRangeAddress"/> |
| <xsl:with-param name="isRCtrans" select="$isRCtrans"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- types of range to handle in $current-range, i.e. the cell position expression to convert |
| 1: special cell including row and column; e.g. R4C5 |
| 2: whole row; e.g. R3 |
| 3: whole column; e.g. C5 |
| 4: other name not for cell or row/column; e.g. RANDOM() or something unknown |
| --> |
| <xsl:variable name="handle-type"> |
| <xsl:choose> |
| <xsl:when test="$isRCtrans = 'false'"> |
| <xsl:value-of select="0"/> |
| </xsl:when> |
| <xsl:when test="starts-with($current-range, 'R')"> |
| <!-- It's type 1 or type 2 or 4/unknown cell position. --> |
| <xsl:choose> |
| <xsl:when test="contains($current-range, 'C')"> |
| <!-- It's type 1, specifying the cell position or 4/unknown --> |
| <xsl:variable name="part-type-r"> |
| <xsl:call-template name="handle-type-number"> |
| <xsl:with-param name="t-part" select="substring-before( substring-after($current-range, 'R'), 'C')"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="part-type-c"> |
| <xsl:call-template name="handle-type-number"> |
| <xsl:with-param name="t-part" select="substring-after($current-range, 'C')"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="($part-type-r = 1) and ($part-type-c = 1)"> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="4"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- It's type 2 specifying the cell position, or 4/unknown. --> |
| <xsl:variable name="part-type"> |
| <xsl:call-template name="handle-type-number"> |
| <xsl:with-param name="t-part" select="substring-after($current-range, 'R')"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$part-type = 1"> |
| <xsl:value-of select="2"/> |
| </xsl:when> |
| <xsl:when test="$part-type = 2"> |
| <xsl:value-of select="4"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="4"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="starts-with($current-range, 'C')"> |
| <!-- It's type 3 of cell position, or 4/unknown --> |
| <xsl:variable name="part-type"> |
| <xsl:call-template name="handle-type-number"> |
| <xsl:with-param name="t-part" select="substring-after($current-range, 'C')"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$part-type = 1"> |
| <xsl:value-of select="3"/> |
| </xsl:when> |
| <xsl:when test="$part-type = 2"> |
| <xsl:value-of select="4"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="4"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- It's type 4, not cell position --> |
| <xsl:value-of select="4"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!-- Start to convert that cell position expression, that cell position unit --> |
| <xsl:choose> |
| <xsl:when test="$handle-type = 1"> |
| <!-- It's type 1, e.g. R1C2 --> |
| <!-- process the row part --> |
| <xsl:variable name="after-R"> |
| <xsl:value-of select="substring(substring-after($current-range,'R'),1,1)"/> |
| </xsl:variable> |
| <xsl:choose> |
| <!-- found one cell unit --> |
| <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'"> |
| <xsl:variable name="row-pos"> |
| <xsl:choose> |
| <xsl:when test="$after-R='['"> |
| <xsl:value-of select="$cell-row-pos + number(substring-before( substring-after($current-range,'R['),']'))"/> |
| </xsl:when> |
| <xsl:when test="$after-R='C'"> |
| <xsl:value-of select="$cell-row-pos"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-before(substring-after($current-range,'R'),'C')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="row-pos-style"> |
| <xsl:choose> |
| <xsl:when test="$after-R='[' or $after-R='C'">relative</xsl:when> |
| <xsl:otherwise>absolute</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!-- process the column part --> |
| <xsl:variable name="after-C"> |
| <xsl:value-of select="substring(substring-after(substring-after($current-range,'R'),'C'),1,1)"/> |
| </xsl:variable> |
| <xsl:variable name="column-digit-length"> |
| <xsl:choose> |
| <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'"> |
| <xsl:call-template name="get-digit-length"> |
| <xsl:with-param name="complexive-string" select="substring-after(substring-after($current-range,'R'),'C')"/> |
| </xsl:call-template> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="column-pos"> |
| <xsl:choose> |
| <xsl:when test="$after-C='['"> |
| <xsl:value-of select="$cell-column-pos + number(substring-before(substring-after(substring-after($current-range,'R'),'C['),']'))"/> |
| </xsl:when> |
| <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'"> |
| <xsl:value-of select="substring(substring-after(substring-after($current-range,'R'),'C'),1,$column-digit-length)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$cell-column-pos"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="column-pos-style"> |
| <xsl:choose> |
| <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> |
| <xsl:otherwise>relative</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="trans-unit"> |
| <xsl:call-template name="translate-unit"> |
| <xsl:with-param name="column-number" select="$column-pos"/> |
| <xsl:with-param name="row-number" select="$row-pos"/> |
| <xsl:with-param name="column-pos-style" select="$column-pos-style"/> |
| <xsl:with-param name="row-pos-style" select="$row-pos-style"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), $trans-unit)"/> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression" select="substring-after($expression, $current-range)"/> |
| <xsl:with-param name="return-value"> |
| <xsl:choose> |
| <xsl:when test="$is-range-mode = 'true'"> |
| <xsl:value-of select="concat($return-value, '.', $name-unit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($return-value, '[.', $name-unit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="is-range-mode" select="'true'"/> |
| <xsl:with-param name="isRangeAddress" select="$isRangeAddress"/> |
| <xsl:with-param name="isRCtrans" select="$isRCtrans"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), translate( substring-before(substring-after($expression, '('),'R'),',!', ';.'))"/> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression" select="substring-after($current-range,'R')"/> |
| <xsl:with-param name="return-value"> |
| <xsl:choose> |
| <xsl:when test="$is-range-mode = 'true'"> |
| <xsl:value-of select="concat($return-value, $name-unit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($return-value, '[.', $name-unit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="is-range-mode" select="'true'"/> |
| <xsl:with-param name="isRangeAddress" select="$isRangeAddress"/> |
| <xsl:with-param name="isRCtrans" select="$isRCtrans"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$handle-type = 2"> |
| <!-- It's type 2, e.g. R3 --> |
| <!-- process the range only including a whole row --> |
| <xsl:variable name="after-R"> |
| <xsl:value-of select="substring(substring-after($current-range,'R'),1,1)"/> |
| </xsl:variable> |
| <xsl:choose> |
| <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'"> |
| <xsl:variable name="row-number"> |
| <xsl:choose> |
| <xsl:when test="$after-R = '['"> |
| <xsl:value-of select="substring-before(substring-after($current-range, 'R['), ']')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-after($current-range, 'R')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="row-pos"> |
| <xsl:choose> |
| <xsl:when test="$after-R='['"> |
| <xsl:value-of select="$cell-row-pos + $row-number"/> |
| </xsl:when> |
| <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'"> |
| <xsl:value-of select="$row-number"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$cell-row-pos"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="trans-unit1"> |
| <xsl:call-template name="translate-unit"> |
| <xsl:with-param name="column-number" select="1"/> |
| <xsl:with-param name="row-number" select="$row-pos"/> |
| <xsl:with-param name="column-pos-style" select="'relative'"/> |
| <xsl:with-param name="row-pos-style" select="'relative'"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="trans-unit2"> |
| <xsl:call-template name="translate-unit"> |
| <xsl:with-param name="column-number" select="256"/> |
| <xsl:with-param name="row-number" select="$row-pos"/> |
| <xsl:with-param name="column-pos-style" select="'relative'"/> |
| <xsl:with-param name="row-pos-style" select="'relative'"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), $trans-unit1, ':.', $trans-unit2)"/> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression" select="substring-after($expression, $current-range)"/> |
| <xsl:with-param name="return-value"> |
| <xsl:choose> |
| <xsl:when test="$is-range-mode = 'true'"> |
| <xsl:value-of select="concat($return-value, '.', $name-unit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($return-value, '[.', $name-unit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="is-range-mode" select="'true'"/> |
| <xsl:with-param name="isRangeAddress" select="$isRangeAddress"/> |
| <xsl:with-param name="isRCtrans" select="$isRCtrans"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), translate( substring-before($current-range,'R'),',!', ';.'),'R')"/> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression" select="substring-after($current-range,'R')"/> |
| <xsl:with-param name="return-value"> |
| <xsl:choose> |
| <xsl:when test="$is-range-mode = 'true'"> |
| <xsl:value-of select="concat($return-value, '.', $name-unit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($return-value, '[.', $name-unit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="is-range-mode" select="'true'"/> |
| <xsl:with-param name="isRangeAddress" select="$isRangeAddress"/> |
| <xsl:with-param name="isRCtrans" select="$isRCtrans"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$handle-type = 3"> |
| <!-- It's type 3, e.g. C4 --> |
| <!-- process the range only including a whole column --> |
| <xsl:variable name="after-C"> |
| <xsl:value-of select="substring(substring-after($current-range,'C'),1,1)"/> |
| </xsl:variable> |
| <xsl:choose> |
| <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'"> |
| <xsl:variable name="column-number"> |
| <xsl:choose> |
| <xsl:when test="$after-C = '['"> |
| <xsl:value-of select="substring-before(substring-after($current-range, 'C['), ']')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="substring-after($current-range, 'C')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="column-pos"> |
| <xsl:choose> |
| <xsl:when test="$after-C='['"> |
| <xsl:value-of select="$cell-column-pos + $column-number"/> |
| </xsl:when> |
| <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'"> |
| <xsl:value-of select="$column-number"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$cell-column-pos"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="trans-unit1"> |
| <xsl:call-template name="translate-unit"> |
| <xsl:with-param name="column-number" select="$column-pos"/> |
| <xsl:with-param name="row-number" select="1"/> |
| <xsl:with-param name="column-pos-style" select="'relative'"/> |
| <xsl:with-param name="row-pos-style" select="'relative'"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="trans-unit2"> |
| <xsl:call-template name="translate-unit"> |
| <xsl:with-param name="column-number" select="$column-pos"/> |
| <xsl:with-param name="row-number" select="65565"/> |
| <xsl:with-param name="column-pos-style" select="'relative'"/> |
| <xsl:with-param name="row-pos-style" select="'relative'"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), $trans-unit1, ':.', $trans-unit2)"/> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression" select="substring-after($expression, $current-range)"/> |
| <xsl:with-param name="return-value"> |
| <xsl:choose> |
| <xsl:when test="$is-range-mode = 'true'"> |
| <xsl:value-of select="concat($return-value, '.', $name-unit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($return-value, '[.', $name-unit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="is-range-mode" select="'true'"/> |
| <xsl:with-param name="isRangeAddress" select="$isRangeAddress"/> |
| <xsl:with-param name="isRCtrans" select="$isRCtrans"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="name-unit" select="concat(substring-before($expression, $current-range), translate( substring-before($current-range,'C'),',!', ';.'),'C')"/> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression" select="substring-after($current-range,'C')"/> |
| <xsl:with-param name="return-value"> |
| <xsl:choose> |
| <xsl:when test="$is-range-mode = 'true'"> |
| <xsl:value-of select="concat($return-value, '.', $name-unit)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat($return-value, '[.', $name-unit)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:with-param> |
| <xsl:with-param name="is-range-mode" select="'true'"/> |
| <xsl:with-param name="isRangeAddress" select="$isRangeAddress"/> |
| <xsl:with-param name="isRCtrans" select="$isRCtrans"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- It's unknown, so just jump over it --> |
| <xsl:variable name="next-pit" select="substring-after($expression, $current-range)"/> |
| <xsl:choose> |
| <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, '[')"> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression" select="substring-after($expression, $current-range)"/> |
| <xsl:with-param name="return-value" select="concat($return-value, substring-before($expression, $current-range), $current-range)"/> |
| <xsl:with-param name="is-range-mode" select="'false'"/> |
| <xsl:with-param name="isRangeAddress" select="$isRangeAddress"/> |
| <xsl:with-param name="isRCtrans" select="$isRCtrans"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <!-- return the final range or formula --> |
| <xsl:choose> |
| <!-- in case the closing bracket of the range wasn't set, do it now --> |
| <xsl:when test="$is-range-mode = 'true' and $current-range = ''"> |
| <xsl:choose> |
| <xsl:when test="$isRCtrans = 'false'"> |
| <xsl:value-of select="translate( concat($return-value, ']'),',!', ';.')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="translate( concat($return-value, ']'),',!', ';')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="$isRCtrans = 'false'"> |
| <xsl:value-of select="translate( concat($return-value, substring-before($expression, $current-range), $current-range),',!', ';.')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="translate( concat($return-value, substring-before($expression, $current-range), $current-range),',!', ';')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="parse-range-name"> |
| <!-- return the string or name for next handle. the type 1 is names of function, sheet, special separated symbol, not to parse as range; type 2 is the range including R/C to be parsed --> |
| <xsl:param name="expression"/> |
| <xsl:param name="return-value"/> |
| <xsl:variable name="first-one" select="substring($expression,1,1)"/> |
| <xsl:choose> |
| <xsl:when test="$first-one = '='"> |
| <xsl:choose> |
| <xsl:when test="string-length(normalize-space($return-value)) > 0"> |
| <xsl:value-of select="concat('2', $return-value)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:text>1=</xsl:text> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$first-one='(' or $first-one='!' or $first-one='&'"> |
| <xsl:value-of select="concat('1', $return-value, $first-one)"/> |
| </xsl:when> |
| <xsl:when test="$first-one='['"> |
| <xsl:choose> |
| <xsl:when test="starts-with(substring-after($expression, ']'), 'C')"> |
| <xsl:call-template name="parse-range-name"> |
| <xsl:with-param name="expression" select="substring-after($expression, ']')"/> |
| <xsl:with-param name="return-value" select="concat($return-value, substring-before($expression, ']'), ']')"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="contains(substring-before($expression, ']'), '.') and contains(substring-after($expression, ']'), '!')"> |
| <xsl:variable name="str-out"> |
| <xsl:value-of select="concat("'", substring-before(substring-after($expression, '['), ']'), "'", '#$', substring-before(substring-after($expression, ']'), '!'))"/> |
| </xsl:variable> |
| <xsl:call-template name="parse-range-name"> |
| <xsl:with-param name="expression" select="concat('!', substring-after($expression, '!'))"/> |
| <xsl:with-param name="return-value" select="concat($return-value, $str-out)"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat('2', $return-value, substring-before($expression, ']'), ']')"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$first-one='"'"> |
| <xsl:value-of select="concat('1', $first-one, substring-before(substring-after($expression, '"'), '"'), '"')"/> |
| </xsl:when> |
| <xsl:when test="$first-one="'""> |
| <!-- here the string "'" represents a char ' --> |
| <xsl:variable name="str-in" select="substring-before(substring-after($expression, "'"), "'")"/> |
| <xsl:choose> |
| <xsl:when test="substring(substring-after(substring($expression, 2), "'"), 1, 1) = '!'"> |
| <xsl:variable name="str-out"> |
| <xsl:choose> |
| <xsl:when test="contains($str-in, '[') and contains($str-in, ']')"> |
| <xsl:variable name="first-pos" select="substring-before($str-in, '[')"/> |
| <xsl:variable name="second-pos" select="substring-before(substring-after($str-in, '['), ']')"/> |
| <xsl:variable name="third-pos" select="substring-after($str-in, ']')"/> |
| <xsl:value-of select="concat("'", $first-pos, $second-pos, "'", '#$', "'", $third-pos, "'")"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat("'", $str-in, "'")"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="parse-range-name"> |
| <xsl:with-param name="expression" select="substring($expression, string-length($str-in)+3)"/> |
| <xsl:with-param name="return-value" select="concat($return-value, $str-out)"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <!-- for file path transformation --> |
| <xsl:when test="contains($str-in, '\') and contains($str-in, '[') and contains($str-in, ']')"> |
| <xsl:variable name="first-pos" select="substring-before($str-in, '[')"/> |
| <xsl:variable name="second-pos" select="substring-before(substring-after($str-in, '['), ']')"/> |
| <xsl:variable name="third-pos" select="substring-after($str-in, ']')"/> |
| <xsl:value-of select="concat('1', "'", $first-pos, $second-pos, "'", '#$', $third-pos)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat('1', "'", $str-in, "'")"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <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='<'"> |
| <xsl:choose> |
| <xsl:when test="$return-value = ''"> |
| <xsl:value-of select="concat('1', $first-one)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat('2', $return-value)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="$expression = ''"> |
| <xsl:value-of select="concat('2', $return-value)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="parse-range-name"> |
| <xsl:with-param name="expression" select="substring($expression, 2, string-length($expression)-1)"/> |
| <xsl:with-param name="return-value" select="concat($return-value, substring($expression, 1, 1))"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="handle-type-number"> |
| <!-- to handle the part between R and C, or after C in range string in translate-expression. return type: 1: number or cell range; 2: other, not for next step --> |
| <xsl:param name="t-part"/> |
| <xsl:choose> |
| <xsl:when test="starts-with($t-part, '[')"> |
| <xsl:variable name="tt-str" select="substring-before( substring-after( $t-part, '['), ']')"/> |
| <xsl:choose> |
| <xsl:when test="(number($tt-str) < 0) or (number($tt-str) > 0) or (number($tt-str) = 0)"> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="2"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="(number($t-part) < 0) or (number($t-part) > 0) or (number($t-part) = 0)"> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:when test="$t-part = ''"> |
| <xsl:value-of select="1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="2"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="translate-unit"> |
| <!-- convert cell position expression unit, R1C1, R3, C4 --> |
| <xsl:param name="column-number"/> |
| <xsl:param name="row-number"/> |
| <xsl:param name="column-pos-style"/> |
| <xsl:param name="row-pos-style"/> |
| <xsl:variable name="column-number1"> |
| <xsl:value-of select="floor( $column-number div 26 )"/> |
| </xsl:variable> |
| <xsl:variable name="column-number2"> |
| <xsl:value-of select="$column-number mod 26"/> |
| </xsl:variable> |
| <xsl:variable name="column-character1"> |
| <xsl:call-template name="number-to-character"> |
| <xsl:with-param name="number" select="$column-number1"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:variable name="column-character2"> |
| <xsl:call-template name="number-to-character"> |
| <xsl:with-param name="number" select="$column-number2"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <!-- position styles are 'absolute' or 'relative', --> |
| <xsl:choose> |
| <xsl:when test="$column-pos-style = 'absolute'"> |
| <xsl:value-of select="concat( '$', $column-character1, $column-character2)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="concat( $column-character1, $column-character2)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="$row-pos-style ='absolute'"> |
| <xsl:value-of select="concat( '$', $row-number)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$row-number"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="get-digit-length"> |
| <xsl:param name="complexive-string"/> |
| <xsl:variable name="first-char"> |
| <xsl:value-of select="substring( $complexive-string, 1, 1)"/> |
| </xsl:variable> |
| <xsl:choose> |
| <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' "> |
| <xsl:variable name="temp"> |
| <xsl:call-template name="get-digit-length"> |
| <xsl:with-param name="complexive-string" select="substring( $complexive-string, 2)"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:value-of select="$temp+1"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="表:数据_E7B3" mode="table"> |
| <xsl:param name="hyperDest"/> |
| <xsl:choose> |
| <xsl:when test="not($hyperDest) or $hyperDest = ''"> |
| <xsl:element name="text:p"> |
| <xsl:for-each select="字:句_419D"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="text:p"> |
| <xsl:element name="text:a"> |
| <xsl:attribute name="xlink:type" select="'simple'"/> |
| <xsl:for-each select="key('hyperlinkID', $hyperDest)"> |
| <xsl:variable name="var_Target"> |
| <xsl:value-of select="超链:目标_AA01"/> |
| </xsl:variable> |
| <xsl:variable name="href"> |
| <xsl:choose> |
| <xsl:when test="@书签_AA0D and key('bookmark', @书签_AA0D)/uof:命名表达式/@区域引用_41CE"> |
| <xsl:value-of select="concat('#',@书签_AA0D)"/> |
| </xsl:when> |
| <!-- case Bookmark: outside or inside --> |
| <xsl:when test="key('bookmark',超链:目标_AA01)"> |
| <xsl:value-of select="concat('#',$var_Target)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:analyze-string select="$var_Target" regex="=?'?(.*?)'?!\$?([A-Z,a-z]{{1,2}})\$?(\d+)"> |
| <xsl:matching-substring> |
| <xsl:value-of select="concat('#', '$', regex-group(1), '.', '$', regex-group(2), '$', regex-group(3))"/> |
| </xsl:matching-substring> |
| <xsl:non-matching-substring> |
| <xsl:choose> |
| <xsl:when test="contains($var_Target,'\')"> |
| <xsl:value-of select="concat('/',translate($var_Target,'\','/'))"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$var_Target"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:non-matching-substring> |
| </xsl:analyze-string> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="xlink:href" select="$href"/> |
| <xsl:variable name="visited"> |
| <xsl:value-of select="超链:式样_AA02/@已访问式样引用_AA04"/> |
| </xsl:variable> |
| <xsl:variable name="stylename"> |
| <xsl:value-of select="超链:式样_AA02/@未访问式样引用_AA03"/> |
| </xsl:variable> |
| <xsl:attribute name="text:style-name" select="$stylename"/> |
| <xsl:attribute name="text:visited-style-name" select="$visited"/> |
| </xsl:for-each> |
| <xsl:for-each select="字:句_419D"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <!--uof2.0 has deleted the below elements--> |
| <xsl:template match="表:批注_E7B7" mode="table"> |
| <xsl:element name="office:annotation"> |
| <xsl:if test="string(@是否显示_E7B9) = 'true'"> |
| <xsl:attribute name="office:display">true</xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="draw:style-name"><xsl:value-of select="uof:锚点_C644/@图形引用_C62E"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat(uof:锚点_C644/uof:大小_C621/@长_C604,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat(uof:锚点_C644/uof:大小_C621/@宽_C605,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat(uof:锚点_C644/uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat(uof:锚点_C644/uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108,$uofUnit)"/></xsl:attribute> |
| <xsl:variable name="graph-name"> |
| <xsl:value-of select="./uof:锚点_C644/@图形引用_C62E"/> |
| </xsl:variable> |
| <xsl:for-each select="key('graph-styles',$graph-name)/图:文本_803C/图:内容_8043/*"> |
| <xsl:choose> |
| <xsl:when test="name(.)='字:段落_416B'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| <xsl:when test="name(.)='字:文字表_416C'"> |
| <xsl:apply-templates select="."/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| <!--xsl:apply-templates select="uof:锚点_C644" mode="table"/--> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="CreateRowCells"> |
| <xsl:param name="par_curCellColumnNum" select="1"/> |
| <xsl:variable name="var_curCellColumnNum"> |
| <xsl:choose> |
| <xsl:when test="@列号_E7ED"> |
| <xsl:value-of select="@列号_E7ED"/> |
| </xsl:when> |
| <!-- 列中的列号和单元格中的列号编号不同 --> |
| <xsl:when test="@列号_E7BC"> |
| <xsl:value-of select="@列号_E7BC"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$par_curCellColumnNum"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="var_curCellSpanAfter"> |
| <xsl:choose> |
| <xsl:when test="表:合并_E7AF/@列数_E7B0"> |
| <xsl:value-of select="number(表:合并_E7AF/@列数_E7B0) + 1"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="var_curCellRepeatAfter"> |
| <xsl:choose> |
| <xsl:when test="@跨度_E7EF"> |
| <xsl:value-of select="@跨度_E7EF"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="tabelCellName"> |
| <xsl:choose> |
| <xsl:when test="name(.) = '表:单元格_E7F2'">table:table-cell</xsl:when> |
| <xsl:otherwise>table:covered-table-cell</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <!-- no sure : 跨度已在预处理中换算 --> |
| <xsl:if test="number($var_curCellColumnNum) > number($par_curCellColumnNum)"> |
| <xsl:element name="table:table-cell"> |
| <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$var_curCellColumnNum - $par_curCellColumnNum"/></xsl:attribute> |
| </xsl:element> |
| </xsl:if> |
| <xsl:element name="{$tabelCellName}"> |
| <!--xsl:choose> |
| <xsl:when test="@表:条件格式化 and @式样引用_E7BD"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat(@表:条件格式化, @式样引用_E7BD)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@表:条件格式化"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="@表:条件格式化"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@式样引用_E7BD"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="@式样引用_E7BD"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose--> |
| <xsl:if test="@式样引用_E7BD"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="@式样引用_E7BD"/></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="表:合并_E7AF"> |
| <xsl:if test="@列数_E7B0"> |
| <!--xsl:attribute name="table:number-columns-spanned"><xsl:value-of select="表:合并_E7AF/@列数_E7B0 + 1"/></xsl:attribute--> |
| <xsl:attribute name="table:number-columns-spanned" select="number(@列数_E7B0) + 1"/> |
| </xsl:if> |
| <xsl:if test="@行数_E7B1"> |
| <!--xsl:attribute name="table:number-rows-spanned"><xsl:value-of select="表:合并_E7AF/@行数_E7B1 + 1"/></xsl:attribute--> |
| <xsl:attribute name="table:number-rows-spanned" select="number(@行数_E7B1) + 1"/> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:if test="@跨度_E7EF"> |
| <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="@跨度_E7EF + 1"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@表:content-validation-name"> |
| <xsl:attribute name="table:content-validation-name" select="@表:content-validation-name"/> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="表:数据_E7B3/@类型_E7B6 = 'number'"> |
| <xsl:variable name="table-stylename" select="@式样引用_E7BD"/> |
| <xsl:variable name="data-format"> |
| <xsl:for-each select="key('CellStyle', $table-stylename)"> |
| <xsl:value-of select="表:数字格式_E7A9/@分类名称_E740"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="data-formatcode"> |
| <xsl:for-each select="key('CellStyle', $table-stylename)"> |
| <xsl:value-of select="表:数字格式_E7A9/@格式码_E73F"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$data-format = 'percentage' or contains( $data-formatcode, '%')"> |
| <xsl:attribute name="office:value-type">percentage</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="contains($data-format, 'currency')"> |
| <xsl:attribute name="office:value-type">currency</xsl:attribute> |
| <xsl:attribute name="office:currency">CNY</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="office:value-type">float</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:variable name="value"> |
| <xsl:choose> |
| <xsl:when test="$data-format = 'percentage' or contains( $data-formatcode, '%')"> |
| <xsl:value-of select="表:数据_E7B3/字:句_419D/字:文本串_415B"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="表:数据_E7B3/字:句_419D/字:文本串_415B"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="office:value"><xsl:value-of select="$value"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="表:数据_E7B3/@类型_E7B6 = 'date'"> |
| <xsl:attribute name="office:value-type">date</xsl:attribute> |
| <xsl:attribute name="office:date-value"><xsl:value-of select="表:数据_E7B3/字:句_419D/字:文本串_415B"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="表:数据_E7B3/@类型_E7B6 = 'time' or 表:数据_E7B3/@类型_E7B6 = 'error'"> |
| <xsl:attribute name="office:value-type">time</xsl:attribute> |
| <xsl:attribute name="office:time-value"><xsl:value-of select="表:数据_E7B3/字:句_419D/字:文本串_415B"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="表:数据_E7B3/@类型_E7B6 = 'boolean'"> |
| <xsl:attribute name="office:value-type">boolean</xsl:attribute> |
| <xsl:variable name="BooleanValue"> |
| <xsl:choose> |
| <xsl:when test="表:数据_E7B3/字:句_419D/字:文本串_415B = 'true'">true</xsl:when> |
| <xsl:when test="表:数据_E7B3/字:句_419D/字:文本串_415B = '1'">true</xsl:when> |
| <xsl:otherwise>false</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="office:boolean-value"><xsl:value-of select="$BooleanValue"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="表:数据_E7B3/@类型_E7B6 = 'text'"> |
| <xsl:attribute name="office:value-type">string</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="表:数据_E7B3/表:公式_E7B5"> |
| <xsl:variable name="sCellFormula"> |
| <xsl:choose> |
| <xsl:when test="contains(表:数据_E7B3/表:公式_E7B5,'=TABLE')"> |
| <xsl:variable name="firstTemp"> |
| <xsl:value-of select="substring-after(表:数据_E7B3/表:公式_E7B5,'=TABLE')"/> |
| </xsl:variable> |
| <xsl:value-of select="concat('=MULTIPLE.OPERATIONS',$firstTemp)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="表:数据_E7B3/表:公式_E7B5"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="calc-formula"> |
| <xsl:choose> |
| <xsl:when test="$isRCCellAddress = 'true'"> |
| <xsl:variable name="cell-row-pos"> |
| <xsl:choose> |
| <xsl:when test="../@行号_E7F3 != ''"> |
| <xsl:value-of select="../@行号_E7F3"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="9"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="cell-column-pos"> |
| <xsl:choose> |
| <xsl:when test="@列号_E7ED != ''"> |
| <xsl:value-of select="@列号_E7ED"/> |
| </xsl:when> |
| <!--列中的列号和单元格中的列号编号不同--> |
| <xsl:when test="@列号_E7BC != ''"> |
| <xsl:value-of select="@列号_E7BC"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="9"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="$cell-row-pos"/> |
| <xsl:with-param name="cell-column-pos" select="$cell-column-pos"/> |
| <xsl:with-param name="expression" select="$sCellFormula"/> |
| <xsl:with-param name="return-value" select="''"/> |
| <xsl:with-param name="isRCtrans" select="'true'"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="translate-expression"> |
| <xsl:with-param name="cell-row-pos" select="0"/> |
| <xsl:with-param name="cell-column-pos" select="0"/> |
| <xsl:with-param name="expression" select="$sCellFormula"/> |
| <xsl:with-param name="return-value" select="''"/> |
| <xsl:with-param name="isRCtrans" select="'false'"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="table:formula" select="$calc-formula"/> |
| </xsl:if> |
| <xsl:for-each select="*"> |
| <xsl:choose> |
| <xsl:when test="name(.) = '表:数据_E7B3'"> |
| <xsl:apply-templates select="." mode="table"> |
| <xsl:with-param name="hyperDest" select="../@超链接引用_E7BE"/> |
| </xsl:apply-templates> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:apply-templates select="." mode="table"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| <xsl:choose> |
| <xsl:when test="following-sibling::*[name() = '表:单元格_E7F2' or name() = '表:covered-table-cell']"> |
| <xsl:for-each select="following-sibling::*[1]"> |
| <xsl:call-template name="CreateRowCells"> |
| <xsl:with-param name="par_curCellColumnNum"> |
| <xsl:value-of select="$var_curCellColumnNum + $var_curCellSpanAfter + $var_curCellRepeatAfter + 1"/> |
| </xsl:with-param> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="columnLeft"> |
| <xsl:value-of select="$ooMaxColumnNum - $var_curCellColumnNum - $var_curCellSpanAfter - $var_curCellRepeatAfter"/> |
| </xsl:variable> |
| <xsl:if test="$columnLeft > 0"> |
| <xsl:element name="table:table-cell"> |
| <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$columnLeft"/></xsl:attribute> |
| </xsl:element> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="OneTableRow"> |
| <xsl:param name="IsVirtual"/> |
| <xsl:param name="nRepeatInclude"/> |
| <xsl:param name="PageBreak"/> |
| <xsl:param name="IsCollapse"/> |
| <xsl:variable name="var_TableName"> |
| <xsl:choose> |
| <xsl:when test="name(.)='表:工作表_E825'"> |
| <xsl:value-of select="@名称_E822"/> |
| </xsl:when> |
| <xsl:when test="name(.)='表:行_E7F1'"> |
| <xsl:value-of select="../../@名称_E822"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$IsVirtual = 'true'"> |
| <xsl:element name="table:table-row"> |
| <xsl:choose> |
| <xsl:when test="$PageBreak != 'true'"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ro-default', $var_TableName)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ro-default-page', $var_TableName)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="$nRepeatInclude > 1"> |
| <xsl:attribute name="table:number-rows-repeated"><xsl:value-of select="$nRepeatInclude"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$IsCollapse = 'true'"> |
| <xsl:attribute name="table:visibility" select="'collapse'"/> |
| </xsl:if> |
| <xsl:element name="table:table-cell"> |
| <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$ooMaxColumnNum"/></xsl:attribute> |
| </xsl:element> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="table:table-row"> |
| <xsl:choose> |
| <xsl:when test="$PageBreak != 'true'"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ro', generate-id())"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ro-page', generate-id())"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="@式样引用_E7BD"> |
| <xsl:attribute name="table:default-cell-style-name"><xsl:value-of select="@式样引用_E7BD"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="$nRepeatInclude > 1"> |
| <xsl:attribute name="table:number-rows-repeated"><xsl:value-of select="$nRepeatInclude"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$IsCollapse = 'true' or @是否隐藏_E73C = 'true'"> |
| <xsl:attribute name="table:visibility" select="'collapse'"/> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="*[name()='表:单元格_E7F2' or name() = '表:covered-table-cell']"> |
| <xsl:for-each select="*[1]"> |
| <xsl:call-template name="CreateRowCells"/> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="table:table-cell"> |
| <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$ooMaxColumnNum"/></xsl:attribute> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="表:行_E7F1" mode="table"> |
| <xsl:param name="curPos"/> |
| <xsl:param name="lastPos"/> |
| <xsl:param name="SpecialSet"/> |
| <xsl:variable name="RowStart" select="@行号_E7F3"/> |
| <xsl:variable name="RowEnd"> |
| <xsl:choose> |
| <xsl:when test="@跨度_E7EF"> |
| <xsl:value-of select="number($RowStart) + number(@跨度_E7EF)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$RowStart"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="DisplayMode"> |
| <xsl:if test="@是否隐藏_E73C = 'true'"> |
| <xsl:value-of select="concat(' @table:display=', 'false')"/> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$curPos = 1"> |
| <xsl:if test="$RowStart > 1"> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="'row'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="number('1')"/> |
| <xsl:with-param name="nEnd" select="number($RowStart - 1)"/> |
| <xsl:with-param name="DisplayMode" select="$DisplayMode"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="PrevRowStart" select="preceding-sibling::*[1]/@行号_E7F3"/> |
| <xsl:variable name="PrevRowEnd"> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::*[1]/@跨度_E7EF"> |
| <xsl:value-of select="number($PrevRowStart + preceding-sibling::*[1]/@跨度_E7EF)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$PrevRowStart"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="(number($PrevRowEnd) + 1) < $RowStart"> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="'row'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="number($PrevRowEnd + 1)"/> |
| <xsl:with-param name="nEnd" select="number($RowStart - 1)"/> |
| <xsl:with-param name="DisplayMode" select="$DisplayMode"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'false'"/> |
| <xsl:with-param name="GroupType" select="'row'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="$RowStart"/> |
| <xsl:with-param name="nEnd" select="$RowEnd"/> |
| <xsl:with-param name="DisplayMode" select="$DisplayMode"/> |
| </xsl:call-template> |
| <xsl:if test="$curPos = $lastPos"> |
| <xsl:if test="$ooMaxRowNum > $RowEnd"> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="'row'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="$RowEnd + 1"/> |
| <xsl:with-param name="nEnd" select="$ooMaxRowNum"/> |
| <xsl:with-param name="DisplayMode" select="$DisplayMode"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="OneTableColumn"> |
| <xsl:param name="IsVirtual"/> |
| <xsl:param name="nRepeatInclude"/> |
| <xsl:param name="PageBreak"/> |
| <xsl:param name="IsCollapse"/> |
| <xsl:choose> |
| <xsl:when test="$IsVirtual = 'true'"> |
| <xsl:variable name="var_TableName"> |
| <xsl:choose> |
| <xsl:when test="name(.)='表:工作表_E825'"> |
| <xsl:value-of select="@名称_E822"/> |
| </xsl:when> |
| <xsl:when test="name(.)='表:列_E7EC'"> |
| <xsl:value-of select="../../@名称_E822"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="var_DefaultCellStyle"> |
| <xsl:choose> |
| <xsl:when test="name(.)='表:工作表_E825'"> |
| <xsl:value-of select="@式样引用_E824"/> |
| </xsl:when> |
| <xsl:when test="name(.)='表:列_E7EC'"> |
| <xsl:value-of select="../../@式样引用_E824"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:element name="table:table-column"> |
| <xsl:choose> |
| <xsl:when test="$PageBreak != 'true'"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('co-default', $var_TableName)"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('co-default-page',$var_TableName)"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:if test="not($var_DefaultCellStyle = '')"> |
| <xsl:attribute name="table:default-cell-style-name"><xsl:value-of select="$var_DefaultCellStyle"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$IsCollapse = 'true'"> |
| <xsl:attribute name="table:visibility" select="'collapse'"/> |
| </xsl:if> |
| <xsl:if test="number($nRepeatInclude) > 1"> |
| <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$nRepeatInclude"/></xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="table:table-column"> |
| <xsl:choose> |
| <xsl:when test="$PageBreak != 'true'"> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('co', generate-id())"/></xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('co-page', generate-id())"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="@式样引用_E7BD"> |
| <xsl:attribute name="table:default-cell-style-name"><xsl:value-of select="@式样引用_E7BD"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="../../@式样引用_E824"> |
| <xsl:attribute name="table:default-cell-style-name"><xsl:value-of select="../../@式样引用_E824"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="number($nRepeatInclude) > 1"> |
| <xsl:attribute name="table:number-columns-repeated"><xsl:value-of select="$nRepeatInclude"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="$IsCollapse = 'true' or @是否隐藏_E73C = 'true'"> |
| <xsl:attribute name="table:visibility" select="'collapse'"/> |
| </xsl:if> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="OneCreateElement"> |
| <xsl:param name="IsVirtual"/> |
| <xsl:param name="GroupType"/> |
| <xsl:param name="nRepeatAfter"/> |
| <xsl:param name="PageBreak"/> |
| <xsl:param name="IsCollapse"/> |
| <xsl:choose> |
| <xsl:when test="$GroupType = 'col'"> |
| <xsl:call-template name="OneTableColumn"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="nRepeatInclude" select="$nRepeatAfter+1"/> |
| <xsl:with-param name="PageBreak" select="$PageBreak"/> |
| <xsl:with-param name="IsCollapse" select="$IsCollapse"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="$GroupType = 'row'"> |
| <xsl:call-template name="OneTableRow"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="nRepeatInclude" select="$nRepeatAfter+1"/> |
| <xsl:with-param name="PageBreak" select="$PageBreak"/> |
| <xsl:with-param name="IsCollapse" select="$IsCollapse"/> |
| </xsl:call-template> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="GroupHalf"> |
| <xsl:param name="GroupType"/> |
| <xsl:param name="GroupPos"/> |
| <xsl:param name="DisplayMode"/> |
| <xsl:choose> |
| <xsl:when test="$GroupType = 'col'"> |
| <xsl:choose> |
| <xsl:when test="$GroupPos = 'start'"> |
| <xsl:text disable-output-escaping="yes"><table:table-column-group</xsl:text> |
| <xsl:if test="$DisplayMode != ''"> |
| <xsl:text disable-output-escaping="yes"> table:display = </xsl:text> |
| <xsl:text disable-output-escaping="yes">"</xsl:text> |
| <xsl:value-of select="$DisplayMode"/> |
| <xsl:text disable-output-escaping="yes">"</xsl:text> |
| </xsl:if> |
| <xsl:text disable-output-escaping="yes">></xsl:text> |
| </xsl:when> |
| <xsl:when test="$GroupPos = 'end'"> |
| <xsl:text disable-output-escaping="yes"></table:table-column-group></xsl:text> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="$GroupType = 'row'"> |
| <xsl:choose> |
| <xsl:when test="$GroupPos = 'start'"> |
| <xsl:text disable-output-escaping="yes"><table:table-row-group</xsl:text> |
| <xsl:if test="$DisplayMode != ''"> |
| <xsl:text disable-output-escaping="yes"> table:display = </xsl:text> |
| <xsl:text disable-output-escaping="yes">"</xsl:text> |
| <xsl:value-of select="$DisplayMode"/> |
| <xsl:text disable-output-escaping="yes">"</xsl:text> |
| </xsl:if> |
| <xsl:text disable-output-escaping="yes">></xsl:text> |
| </xsl:when> |
| <xsl:when test="$GroupPos = 'end'"> |
| <xsl:text disable-output-escaping="yes"></table:table-row-group></xsl:text> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="GroupSet"> |
| <xsl:param name="IsVirtual"/> |
| <xsl:param name="GroupType"/> |
| <xsl:param name="SpecialSet"/> |
| <xsl:param name="nStart"/> |
| <xsl:param name="nEnd"/> |
| <xsl:param name="DisplayMode"/> |
| <xsl:choose> |
| <xsl:when test="count($SpecialSet/sGroup[not(number(nNumber) < $nStart) and not($nEnd < number(nNumber))]) > 0"> |
| <xsl:variable name="CurNode" select="."/> |
| <xsl:for-each select="$SpecialSet/sGroup[not(number(nNumber) < $nStart) and not($nEnd < number(nNumber))]"> |
| <xsl:variable name="var_PreIsCollapse"> |
| <xsl:if test="preceding-sibling::node()[1]/text() = 'iscollapse'">true</xsl:if> |
| </xsl:variable> |
| <xsl:variable name="var_NextIsCollapse"> |
| <xsl:if test="following-sibling::node()[1]/text() = 'iscollapse'">true</xsl:if> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="sType = 'pagebreak'"> |
| <xsl:choose> |
| <!--首先考虑给定的区间只有一个行或列的情况--> |
| <xsl:when test="$nStart = $nEnd"> |
| <!--如果给定区间内只有一个sGroup元素,也就是没有组起始截止符的情况--> |
| <xsl:if test="position() = last()"> |
| <xsl:for-each select="$CurNode"> |
| <xsl:choose> |
| <xsl:when test="$SpecialSet/sGroup/nNumber = @列号_E7ED or $SpecialSet/sGroup/nNumber = @行号_E7F3"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="0"/> |
| <xsl:with-param name="PageBreak" select="'true'"/> |
| <xsl:with-param name="IsCollapse" select="$var_PreIsCollapse"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="0"/> |
| <xsl:with-param name="PageBreak" select="'true'"/> |
| <xsl:with-param name="IsCollapse" select="$var_PreIsCollapse"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!--xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="0"/> |
| <xsl:with-param name="PageBreak" select="'true'"/> |
| <xsl:with-param name="IsCollapse" select="$var_PreIsCollapse"/> |
| </xsl:call-template--> |
| </xsl:for-each> |
| </xsl:if> |
| <!--给定区间只有一个行或列,但区间内内有多个元素的情况会在后面一起处理--> |
| </xsl:when> |
| <xsl:otherwise> |
| <!--当前的pagebreak元素是给定区间内的第一个sGroup元素--> |
| <!--这里好像逻辑上有些漏洞,因为可能出现在同一个行或列上既有pagebreak信息,又有分组信息的情况,这时候是否能保证分组信息一定排在pagebreak前面?这依赖于xslt内部的实现逻辑--> |
| <xsl:if test="position() = 1"> |
| <!--这里处理了pagebreak元素之前的行或列--> |
| <xsl:if test="not(nNumber < $nStart)"> |
| <xsl:variable name="nRepeatAfter"> |
| <xsl:value-of select="nNumber - $nStart - 1"/> |
| </xsl:variable> |
| <xsl:for-each select="$CurNode"> |
| <xsl:if test="number($nRepeatAfter) ge 1"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="$nRepeatAfter"/> |
| <xsl:with-param name="IsCollapse" select="$var_PreIsCollapse"/> |
| </xsl:call-template> |
| </xsl:if> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="0"/> |
| <xsl:with-param name="PageBreak" select="'true'"/> |
| <xsl:with-param name="IsCollapse" select="$var_PreIsCollapse"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:if> |
| <!--在给定的区间里,当前pagebreak元素之前还有分组信息或pagebreak元素--> |
| <xsl:if test="position() != 1"> |
| <!--当前pagebreak元素不在给定区间的起始位置,并且当前pagebreak元素的上一个元素与当前元素不在同一个行或列--> |
| <xsl:if test="(nNumber > $nStart) and (preceding-sibling::*[1]/nNumber != nNumber)"> |
| <xsl:variable name="nRepeatAfter"> |
| <xsl:choose> |
| <!--这句话的逻辑好像是错的,因为跟前面的 <xsl:if test="position() != 1">冲突--> |
| <xsl:when test="not(preceding-sibling::*[1])"> |
| <xsl:value-of select="nNumber - $nStart - 1"/> |
| </xsl:when> |
| <!--当前pagebreak元素的上一个元素不在给定的区间内--> |
| <xsl:when test="preceding-sibling::*[1] < $nStart"> |
| <xsl:value-of select="nNumber - $nStart - 1"/> |
| </xsl:when> |
| <!--在给定的区间里,当前pagebreak元素之前还有分组信息或pagebreak元素,且这些元素与当前元素不在同一个行或列--> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::*[1]/sType = 'end'"> |
| <xsl:value-of select="nNumber - preceding-sibling::sGroup[1]/nNumber - 1 - 1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="nNumber - preceding-sibling::sGroup[1]/nNumber - 1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:for-each select="$CurNode"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="0"/> |
| <xsl:with-param name="PageBreak" select="'true'"/> |
| <xsl:with-param name="IsCollapse" select="$var_NextIsCollapse"/> |
| </xsl:call-template> |
| <xsl:if test="number($nRepeatAfter) ge 1"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="$nRepeatAfter"/> |
| <xsl:with-param name="IsCollapse" select="$var_NextIsCollapse"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:if> |
| <!--给定区间内只有当前pagebreak元素这一个sGroup元素,这个条件与前面的<xsl:if test="position() = 1">条件是共同起作用的--> |
| <xsl:if test="position() = last()"> |
| <xsl:variable name="nRepeatAfter"> |
| <xsl:value-of select="$nEnd - ( number($nStart) + 1)"/> |
| </xsl:variable> |
| <xsl:for-each select="$CurNode"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="$nRepeatAfter"/> |
| <xsl:with-param name="IsCollapse" select="$var_NextIsCollapse"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <!--首先考虑给定的区间只有一个行或列的情况--> |
| <xsl:when test="$nStart = $nEnd"> |
| <xsl:choose> |
| <xsl:when test="sType = 'start'"> |
| <xsl:call-template name="GroupHalf"> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="GroupPos" select="sType"/> |
| <xsl:with-param name="DisplayMode" select="sDisplay"/> |
| </xsl:call-template> |
| <xsl:if test="position() = last()"> |
| <xsl:for-each select="$CurNode"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="0"/> |
| <xsl:with-param name="IsCollapse" select="$var_NextIsCollapse"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="sType = 'end'"> |
| <xsl:if test="position() = 1"> |
| <xsl:for-each select="$CurNode"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="0"/> |
| <xsl:with-param name="IsCollapse" select="$var_PreIsCollapse"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| <xsl:call-template name="GroupHalf"> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="GroupPos" select="sType"/> |
| <xsl:with-param name="DisplayMode" select="sDisplay"/> |
| </xsl:call-template> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <!--其次考虑区间有多个行列的情况--> |
| <xsl:otherwise> |
| <xsl:if test="position() = 1"> |
| <xsl:if test="nNumber > $nStart"> |
| <xsl:variable name="curPos"> |
| <xsl:choose> |
| <xsl:when test="sType = 'start'"> |
| <xsl:value-of select="nNumber"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="nNumber + 1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="nRepeatAfter"> |
| <xsl:value-of select="$curPos -1 - $nStart"/> |
| </xsl:variable> |
| <xsl:for-each select="$CurNode"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="$nRepeatAfter"/> |
| <xsl:with-param name="IsCollapse" select="$var_PreIsCollapse"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="position() != 1"> |
| <xsl:if test="(nNumber > $nStart) and (preceding-sibling::sGroup[1]/nNumber != nNumber)"> |
| <xsl:variable name="curPos"> |
| <xsl:choose> |
| <xsl:when test="sType = 'start'"> |
| <xsl:value-of select="nNumber"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="nNumber + 1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="nRepeatAfter"> |
| <xsl:choose> |
| <xsl:when test="not(preceding-sibling::*[1])"> |
| <xsl:value-of select="$curPos -1 - $nStart"/> |
| </xsl:when> |
| <xsl:when test="preceding-sibling::*[1]/nNumber < $nStart"> |
| <xsl:value-of select="$curPos -1 - $nStart"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::*[1]/sType = 'end'"> |
| <xsl:value-of select="$curPos -1 - preceding-sibling::sGroup[1]/nNumber - 1"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$curPos -1 - preceding-sibling::sGroup[1]/nNumber"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!--<xsl:value-of select="$curPos - preceding-sibling::node()[1]/nNumber"/>--> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:for-each select="$CurNode"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="$nRepeatAfter"/> |
| <xsl:with-param name="IsCollapse" select="$var_PreIsCollapse"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:if> |
| <xsl:call-template name="GroupHalf"> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="GroupPos" select="sType"/> |
| <xsl:with-param name="DisplayMode" select="sDisplay"/> |
| </xsl:call-template> |
| <xsl:if test="position() = last()"> |
| <xsl:choose> |
| <xsl:when test="nNumber = $nEnd"> |
| <xsl:if test="sType = 'start'"> |
| <xsl:for-each select="$CurNode"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="0"/> |
| <xsl:with-param name="IsCollapse" select="$var_NextIsCollapse"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="curPos"> |
| <xsl:choose> |
| <xsl:when test="sType = 'start'"> |
| <xsl:value-of select="nNumber"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="nNumber + 1"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="nRepeatAfter"> |
| <xsl:value-of select="$nEnd - $curPos"/> |
| </xsl:variable> |
| <xsl:for-each select="$CurNode"> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="$nRepeatAfter"/> |
| <xsl:with-param name="IsCollapse" select="$var_NextIsCollapse"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="var_IsCollapse"> |
| <xsl:if test="$SpecialSet/sGroup[number(nNumber) gt number($nEnd)] and $SpecialSet/sGroup[number(nNumber) lt number($nStart)]"> |
| <xsl:for-each select="$SpecialSet/sGroup[number(nNumber) gt number($nEnd)][1]"> |
| <xsl:if test="preceding-sibling::node()[1]/text() ='iscollapse'"> |
| <xsl:value-of select="'true'"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:variable name="nRepeatAfter"> |
| <xsl:value-of select="number($nEnd - $nStart)"/> |
| </xsl:variable> |
| <xsl:call-template name="OneCreateElement"> |
| <xsl:with-param name="IsVirtual" select="$IsVirtual"/> |
| <xsl:with-param name="GroupType" select="$GroupType"/> |
| <xsl:with-param name="nRepeatAfter" select="$nRepeatAfter"/> |
| <xsl:with-param name="IsCollapse" select="$var_IsCollapse"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="表:列_E7EC" mode="table"> |
| <xsl:param name="curPos"/> |
| <xsl:param name="lastPos"/> |
| <xsl:param name="SpecialSet"/> |
| <xsl:variable name="ColStart" select="number(@列号_E7ED)"/> |
| <xsl:variable name="ColEnd"> |
| <xsl:choose> |
| <xsl:when test="@跨度_E7EF"> |
| <xsl:value-of select="number($ColStart + @跨度_E7EF)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="number($ColStart)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="DisplayMode"> |
| <xsl:if test="@是否隐藏_E73C = 'true'"> |
| <xsl:value-of select="concat(' @table:display=', 'false')"/> |
| </xsl:if> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$curPos = 1"> |
| <xsl:if test="$ColStart > 1"> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="'col'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="number('1')"/> |
| <xsl:with-param name="nEnd" select="number($ColStart - 1)"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:variable name="PrevColStart" select="preceding-sibling::*[1]/@列号_E7ED"/> |
| <xsl:variable name="PrevColEnd"> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::*[1]/@跨度_E7EF"> |
| <xsl:value-of select="number($PrevColStart + preceding-sibling::*[1]/@跨度_E7EF)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$PrevColStart"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="number($PrevColEnd + 1) < $ColStart"> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="'col'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="number($PrevColEnd + 1)"/> |
| <xsl:with-param name="nEnd" select="number($ColStart - 1)"/> |
| <xsl:with-param name="DisplayMode" select="$DisplayMode"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'false'"/> |
| <xsl:with-param name="GroupType" select="'col'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="$ColStart"/> |
| <xsl:with-param name="nEnd" select="$ColEnd"/> |
| <xsl:with-param name="DisplayMode" select="$DisplayMode"/> |
| </xsl:call-template> |
| <xsl:if test="$curPos = $lastPos"> |
| <xsl:if test="$ooMaxColumnNum > $ColEnd"> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="'col'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="$ColEnd + 1"/> |
| <xsl:with-param name="nEnd" select="$ooMaxColumnNum"/> |
| <xsl:with-param name="DisplayMode" select="$DisplayMode"/> |
| </xsl:call-template> |
| </xsl:if> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template name="NoColumnProcess"> |
| <xsl:param name="SpecialSet"/> |
| <xsl:variable name="ColStart" select="1"/> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="'col'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="$ColStart"/> |
| <xsl:with-param name="nEnd" select="$ooMaxColumnNum"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="NoRowProcess"> |
| <xsl:param name="SpecialSet"/> |
| <xsl:variable name="RowStart" select="1"/> |
| <xsl:call-template name="GroupSet"> |
| <xsl:with-param name="IsVirtual" select="'true'"/> |
| <xsl:with-param name="GroupType" select="'row'"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialSet"/> |
| <xsl:with-param name="nStart" select="$RowStart"/> |
| <xsl:with-param name="nEnd" select="$ooMaxRowNum"/> |
| </xsl:call-template> |
| </xsl:template> |
| <xsl:template name="TableSheet"> |
| <xsl:element name="table:table"> |
| <xsl:attribute name="table:name"><xsl:value-of select="@名称_E822"/></xsl:attribute> |
| <xsl:attribute name="table:style-name"><xsl:value-of select="concat('ta', generate-id(.))"/></xsl:attribute> |
| <!--xsl:if test="表:工作表内容_E80E/uof:锚点_C644 or 表:工作表内容_E80E/表:行_E7F1/表:单元格_E7F2/uof:锚点_C644"--> |
| <xsl:if test="表:工作表内容_E80E/uof:锚点_C644"> |
| <table:shapes> |
| <xsl:for-each select="表:工作表内容_E80E/uof:锚点_C644"> |
| <xsl:apply-templates select="." mode="table"/> |
| </xsl:for-each> |
| </table:shapes> |
| </xsl:if> |
| <xsl:if test="表:工作表内容_E80E"> |
| <xsl:variable name="SpecialColumnSet"> |
| <xsl:variable name="tmp"> |
| <xsl:for-each select="表:工作表内容_E80E/表:分组集_E7F6/表:列_E841"> |
| <sGroup> |
| <sType>start</sType> |
| <sDisplay> |
| <xsl:choose> |
| <xsl:when test="@是否隐藏_E73C = 'true'">false</xsl:when> |
| <xsl:when test="@是否隐藏_E73C = 'false'">true</xsl:when> |
| </xsl:choose> |
| </sDisplay> |
| <nNumber> |
| <xsl:value-of select="@起始_E73A"/> |
| </nNumber> |
| </sGroup> |
| <sGroup> |
| <sType>end</sType> |
| <nNumber> |
| <xsl:value-of select="@终止_E73B"/> |
| </nNumber> |
| </sGroup> |
| </xsl:for-each> |
| <xsl:for-each select="表:分页符集_E81E/表:分页符_E81F[@列号_E821]"> |
| <sGroup> |
| <sType>pagebreak</sType> |
| <nNumber> |
| <xsl:value-of select="@列号_E821 + 1"/> |
| </nNumber> |
| </sGroup> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="collapseArea"> |
| <xsl:for-each select="表:工作表内容_E80E/表:分组集_E7F6/表:列_E841"> |
| <xsl:if test="@是否隐藏_E73C = 'true'"> |
| <xsl:copy-of select="."/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:for-each select="$tmp/sGroup"> |
| <xsl:sort select="nNumber" data-type="number"/> |
| <xsl:copy-of select="."/> |
| <xsl:variable name="var_number" select="number(nNumber/text())"/> |
| <xsl:choose> |
| <xsl:when test="sType = 'start' or sType = 'pagebreak'"> |
| <xsl:if test="$collapseArea/表:列_E7EC[@是否隐藏_E73C = 'true'][number(@起始_E73A) le $var_number and number(@终止_E73B) ge $var_number]"> |
| <sElement>iscollapse</sElement> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="sType = 'end'"> |
| <xsl:if test="$collapseArea/表:列_E7EC[@是否隐藏_E73C = 'true'][number(@起始_E73A) le $var_number and number(@终止_E73B) gt $var_number]"> |
| <sElement>iscollapse</sElement> |
| </xsl:if> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="SpecialRowSet"> |
| <xsl:variable name="tmp"> |
| <xsl:for-each select="表:工作表内容_E80E/表:分组集_E7F6/表:行_E842"> |
| <sGroup> |
| <sType>start</sType> |
| <sDisplay> |
| <xsl:choose> |
| <xsl:when test="@是否隐藏_E73C = 'true'">false</xsl:when> |
| <xsl:when test="@是否隐藏_E73C = 'false'">true</xsl:when> |
| </xsl:choose> |
| </sDisplay> |
| <nNumber> |
| <xsl:value-of select="@起始_E73A"/> |
| </nNumber> |
| </sGroup> |
| <sGroup> |
| <sType>end</sType> |
| <nNumber> |
| <xsl:value-of select="@终止_E73B"/> |
| </nNumber> |
| </sGroup> |
| </xsl:for-each> |
| <xsl:for-each select="表:分页符集_E81E/表:分页符_E81F[@行号_E820]"> |
| <sGroup> |
| <sType>pagebreak</sType> |
| <nNumber> |
| <xsl:value-of select="@行号_E820 + 1"/> |
| </nNumber> |
| </sGroup> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="collapseArea"> |
| <xsl:for-each select="表:工作表内容_E80E/表:分组集_E7F6/表:行_E842"> |
| <xsl:if test="@是否隐藏_E73C = 'true'"> |
| <xsl:copy-of select="."/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:for-each select="$tmp/sGroup"> |
| <xsl:sort select="nNumber" data-type="number"/> |
| <xsl:copy-of select="."/> |
| <xsl:variable name="var_number" select="number(nNumber/text())"/> |
| <xsl:choose> |
| <xsl:when test="sType = 'start' or sType = 'pagebreak'"> |
| <xsl:if test="$collapseArea/表:行_E7F1[@是否隐藏_E73C = 'true'][number(@起始_E73A) le $var_number and number(@终止_E73B) ge $var_number]"> |
| <sElement>iscollapse</sElement> |
| </xsl:if> |
| </xsl:when> |
| <xsl:when test="sType = 'end'"> |
| <xsl:if test="$collapseArea/表:行_E7F1[@是否隐藏_E73C = 'true'][number(@起始_E73A) le $var_number and number(@终止_E73B) gt $var_number]"> |
| <sElement>iscollapse</sElement> |
| </xsl:if> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="表:工作表内容_E80E/表:列_E7EC"> |
| <xsl:for-each select="表:工作表内容_E80E/表:列_E7EC"> |
| <xsl:apply-templates select="." mode="table"> |
| <xsl:with-param name="curPos" select="position()"/> |
| <xsl:with-param name="lastPos" select="last()"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialColumnSet"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="NoColumnProcess"> |
| <xsl:with-param name="SpecialSet" select="$SpecialColumnSet"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:choose> |
| <xsl:when test="表:工作表内容_E80E/表:行_E7F1"> |
| <xsl:for-each select="表:工作表内容_E80E/表:行_E7F1"> |
| <xsl:sort data-type="number" select="@行号_E7F3"/> |
| <xsl:apply-templates select="." mode="table"> |
| <xsl:with-param name="curPos" select="position()"/> |
| <xsl:with-param name="lastPos" select="last()"/> |
| <xsl:with-param name="SpecialSet" select="$SpecialRowSet"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:call-template name="NoRowProcess"> |
| <xsl:with-param name="SpecialSet" select="$SpecialRowSet"/> |
| </xsl:call-template> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="表:操作条件_E815"> |
| <xsl:element name="table:filter-condition"> |
| <xsl:variable name="ope" select="表:操作码_E816"/> |
| <xsl:variable name="conditionArea"> |
| <xsl:call-template name="character-to-number"> |
| <xsl:with-param name="character" select="substring-before(substring-after(../../../表:范围_E810,'$'),'$')"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:attribute name="table:field-number"><xsl:value-of select="number(../../@列号_E819) - 1"/></xsl:attribute> |
| <xsl:attribute name="table:value"><xsl:value-of select="表:值_E817"/></xsl:attribute> |
| <xsl:attribute name="table:operator"><xsl:choose><xsl:when test="$ope = 'equal to'">=</xsl:when><xsl:when test="$ope = 'not equal to'">!=</xsl:when><xsl:when test="$ope = 'greater than'">></xsl:when><xsl:when test="$ope = 'greater than or equal to'">>=</xsl:when><xsl:when test="$ope = 'less than'"><</xsl:when><xsl:when test="$ope = 'less than or equal to'"><=</xsl:when><xsl:when test="$ope = 'start with'">begins-with</xsl:when><xsl:when test="$ope = 'not start with'">does-not-begin-with</xsl:when><xsl:when test="$ope = 'end with'">ends-with</xsl:when><xsl:when test="$ope = 'not end with'">does-not-end-with</xsl:when><xsl:when test="$ope = 'contain' or $ope = 'between'">contains</xsl:when><xsl:when test="$ope = 'not contain' or $ope = 'between'">does-not-contain</xsl:when><xsl:otherwise/></xsl:choose></xsl:attribute> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="getDataRange"> |
| <xsl:variable name="first"> |
| <xsl:value-of select="表:范围_E810"/> |
| </xsl:variable> |
| <xsl:variable name="quote">'</xsl:variable> |
| <xsl:variable name="tempTableName"> |
| <xsl:value-of select="substring-after(substring-before($first,'!'), $quote)"/> |
| </xsl:variable> |
| <xsl:variable name="tableName"> |
| <xsl:value-of select="substring-before($tempTableName, $quote)"/> |
| </xsl:variable> |
| <xsl:variable name="firstTempAddress"> |
| <xsl:value-of select="substring-after(substring-before($first,':'),'!')"/> |
| </xsl:variable> |
| <xsl:variable name="firstHorizonAddress"> |
| <xsl:value-of select="substring-before(substring-after($firstTempAddress,'$'),'$')"/> |
| </xsl:variable> |
| <xsl:variable name="firstVerticalAddress"> |
| <xsl:value-of select="substring-after(substring-after($firstTempAddress,'$'),'$')"/> |
| </xsl:variable> |
| <xsl:variable name="secondTempAddress"> |
| <xsl:value-of select="substring-after($first,':')"/> |
| </xsl:variable> |
| <xsl:variable name="secondHorizonAddress"> |
| <xsl:value-of select="substring-before(substring-after($secondTempAddress,'$'),'$')"/> |
| </xsl:variable> |
| <xsl:variable name="secondVerticalAddress"> |
| <xsl:value-of select="substring-after(substring-after($secondTempAddress,'$'),'$')"/> |
| </xsl:variable> |
| <xsl:value-of select="concat($tableName,'.',$firstHorizonAddress,$firstVerticalAddress,':',$tableName,'.',$secondHorizonAddress,$secondVerticalAddress)"/> |
| </xsl:template> |
| <xsl:template match="表:筛选_E80F"> |
| <xsl:element name="table:database-range"> |
| <xsl:if test="@类型_E83B = 'auto'"> |
| <xsl:attribute name="table:display-filter-buttons">true</xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="table:target-range-address"><xsl:call-template name="getDataRange"/></xsl:attribute> |
| <xsl:if test="表:条件_E811"> |
| <table:filter> |
| <xsl:if test="表:条件区域_E81A"> |
| <xsl:attribute name="table:condition-source-range-address"><xsl:value-of select="表:条件区域_E81A"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="表:结果区域_E81B"> |
| <xsl:attribute name="table:display-duplicates"><xsl:value-of select="表:结果区域_E81B"/></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="表:条件_E811/表:普通_E812"> |
| <xsl:element name="table:filter-condition"> |
| <xsl:variable name="opea" select="表:条件_E811/表:普通_E812/@类型_E7B6"/> |
| <xsl:attribute name="table:field-number" select="number(表:条件_E811/@列号_E819) - 1"/> |
| <xsl:attribute name="table:value" select="表:条件_E811/表:普通_E812/@值_E813"/> |
| <xsl:attribute name="table:operator"><xsl:choose><xsl:when test="$opea = 'bottomitem'">bottom values</xsl:when><xsl:when test="$opea = 'bottompercent'">bottom percent</xsl:when><xsl:when test="$opea = 'topitem'">top values</xsl:when><xsl:when test="$opea = 'toppercent'">top percent</xsl:when><xsl:when test="$opea = 'value'">=</xsl:when><xsl:otherwise/></xsl:choose></xsl:attribute> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="表:条件_E811/表:自定义_E814/@类型_E7B6 = 'or'"> |
| <xsl:element name="table:filter-or"> |
| <xsl:for-each select="表:条件_E811/表:自定义_E814/表:操作条件_E815"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="表:条件_E811/表:自定义_E814/@类型_E7B6 = 'and'"> |
| <xsl:element name="table:filter-and"> |
| <xsl:for-each select="表:条件_E811/表:自定义_E814/表:操作条件_E815"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="表:条件_E811/表:自定义_E814/表:操作条件_E815"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </table:filter> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <!-- |
| <xsl:template match="uof:链接集" mode="table"> |
| <table:named-expressions> |
| <xsl:for-each select="uof:超级链接"> |
| <xsl:if test="@uof:目标 and @uof:书签"> |
| <xsl:variable name="var_TagetUrl"> |
| <xsl:choose> |
| <xsl:when test="@uof:目标 = @uof:书签"> |
| <xsl:if test="key('bookmark', @uof:书签)/uof:命名表达式/@uof:区域引用"> |
| <xsl:value-of select="key('bookmark', @uof:书签)/uof:命名表达式/@uof:区域引用"/> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="@uof:目标"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="var_Name"> |
| <xsl:value-of select="@uof:书签"/> |
| </xsl:variable> |
| <xsl:analyze-string select="$var_TagetUrl" regex="=?'?(.*?)'?!\$?([A-Z,a-z]{{1,2}})\$?(\d+)"> |
| <xsl:matching-substring> |
| <xsl:variable name="apos">'</xsl:variable> |
| <table:named-range> |
| <xsl:attribute name ='table:name'> |
| <xsl:value-of select="$var_Name"/> |
| </xsl:attribute> |
| <xsl:attribute name="table:base-cell-address"> |
| <xsl:value-of select="concat( '$', regex-group(1), '.', '$', regex-group(2), '$', regex-group(3)) "/> |
| </xsl:attribute> |
| <xsl:attribute name="table:cell-range-address"> |
| <xsl:value-of select="concat( '$', regex-group(1), '.', '$', regex-group(2), '$', regex-group(3)) "/> |
| </xsl:attribute> |
| </table:named-range> |
| </xsl:matching-substring> |
| </xsl:analyze-string> |
| </xsl:if> |
| </xsl:for-each> |
| </table:named-expressions> |
| </xsl:template> |
| --> |
| <xsl:template match="书签:书签集_9104" mode="table"> |
| <table:named-expressions> |
| <xsl:for-each select="书签:书签_9105"> |
| <xsl:variable name="var_BookmarkName" select="@名称_9103"/> |
| <xsl:if test="书签:区域_9100/@区域引用_41CE"> |
| <xsl:analyze-string select="书签:区域_9100/@区域引用_41CE" regex="=?'?(.*?)'?!\$?([A-Z,a-z]{{0,3}})\$?(\d*)(:?)\$?([A-Z,a-z]{{0,3}})\$?(\d*)"> |
| <xsl:matching-substring> |
| <table:named-range> |
| <xsl:attribute name="table:name" select="$var_BookmarkName"/> |
| <xsl:variable name="tablename" select="regex-group(1)"/> |
| <xsl:variable name="UOFbeginColum" select="regex-group(2)"/> |
| <xsl:variable name="UOFbeginRow" select="regex-group(3)"/> |
| <xsl:variable name="breakChar" select="regex-group(4)"/> |
| <xsl:variable name="UOFendColum" select="regex-group(5)"/> |
| <xsl:variable name="UOFendRow" select="regex-group(6)"/> |
| <xsl:variable name="ODFbeginColum"> |
| <xsl:choose> |
| <xsl:when test="$UOFbeginColum = ''">A</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$UOFbeginColum"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="ODFbeginRow"> |
| <xsl:choose> |
| <xsl:when test="$UOFbeginRow = ''">1</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$UOFbeginRow"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="ODFendColum"> |
| <xsl:choose> |
| <xsl:when test="$UOFendColum = ''">AMJ</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$UOFendColum"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="ODFendRow"> |
| <xsl:choose> |
| <xsl:when test="$UOFendRow = ''">65536</xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$UOFendRow"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$breakChar = ''"> |
| <xsl:attribute name="table:base-cell-address" select="concat($tablename, '.', '$', $ODFbeginColum, '$', $ODFbeginRow)"/> |
| <xsl:attribute name="table:cell-range-address" select="concat($tablename, '.', '$', $ODFbeginColum, '$', $ODFbeginRow)"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="table:base-cell-address" select="concat($tablename, '.', '$', $ODFbeginColum, '$', $ODFbeginRow)"/> |
| <xsl:attribute name="table:cell-range-address" select="concat($tablename, '.', '$', $ODFbeginColum, '$', $ODFbeginRow, ':.', '$', $ODFendColum, '$', $ODFendRow)"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </table:named-range> |
| </xsl:matching-substring> |
| </xsl:analyze-string> |
| </xsl:if> |
| </xsl:for-each> |
| </table:named-expressions> |
| </xsl:template> |
| <xsl:template name="OfficeSettingsPresentation"> |
| <config:config-item-set config:name="ooo:view-settings"> |
| <config:config-item config:name="VisibleAreaTop" config:type="int">0</config:config-item> |
| <config:config-item config:name="VisibleAreaLeft" config:type="int">0</config:config-item> |
| <config:config-item config:name="VisibleAreaWidth" config:type="int">14098</config:config-item> |
| <config:config-item config:name="VisibleAreaHeight" config:type="int">9998</config:config-item> |
| <config:config-item-map-indexed config:name="Views"> |
| <config:config-item-map-entry> |
| <config:config-item config:name="IsSnapToSnapLines" config:type="boolean">true</config:config-item> |
| <xsl:for-each select="规则:公用处理规则_B665/规则:演示文稿_B66D/规则:最后视图_B639"> |
| <xsl:variable name="PageKind"> |
| <xsl:value-of select="规则:类型_B63A"/> |
| </xsl:variable> |
| <config:config-item config:name="PageKind" config:type="short"> |
| <xsl:choose> |
| <xsl:when test="$PageKind='normal' or $PageKind='sort'">0</xsl:when> |
| <xsl:when test="$PageKind='note-page'">1</xsl:when> |
| <xsl:when test="$PageKind='note-master'">1</xsl:when> |
| <xsl:when test="$PageKind='handout-master'">2</xsl:when> |
| </xsl:choose> |
| </config:config-item> |
| <config:config-item config:name="EditModeStandard" config:type="int"> |
| <xsl:choose> |
| <xsl:when test="$PageKind='slide-master'">1</xsl:when> |
| <xsl:when test="$PageKind='note-master'">0</xsl:when> |
| <xsl:when test="$PageKind='normal'">0</xsl:when> |
| </xsl:choose> |
| </config:config-item> |
| <config:config-item config:name="EditModeNotes" config:type="int"> |
| <xsl:choose> |
| <xsl:when test="$PageKind='note-page'">0</xsl:when> |
| <xsl:when test="$PageKind='note-master'">1</xsl:when> |
| </xsl:choose> |
| </config:config-item> |
| <config:config-item config:name="ViewId" config:type="string"> |
| <xsl:choose> |
| <xsl:when test="$PageKind='normal' or $PageKind='handout-master' or $PageKind='note-page'">view1</xsl:when> |
| <xsl:when test="$PageKind='sort'">view2</xsl:when> |
| </xsl:choose> |
| </config:config-item> |
| </xsl:for-each> |
| <xsl:apply-templates select="/uof:UOF_0000/扩展:扩展区_B200/扩展:扩展_B201[扩展:软件名称_B202= 'NeoShineOffice']/扩展:扩展内容_B204[扩展:路径 = '/office:document/office:settings']/uof:内容/配置/分类配置项集[@类属 = '视图配置']/配置项索引表[@名称 = '视图']/配置列表条目" mode="Views"/> |
| </config:config-item-map-entry> |
| </config:config-item-map-indexed> |
| </config:config-item-set> |
| <config:config-item-set config:name="ooo:configuration-settings"> |
| <config:config-item config:name="PageNumberFormat" config:type="int"> |
| <xsl:choose> |
| <xsl:when test="规则:公用处理规则_B665/规则:演示文稿_B66D/规则:页面设置集_B670/规则:页面设置_B638/演:页码格式_6BDF[1]"> |
| <xsl:variable name="pageNumberFormat" select="规则:公用处理规则_B665/规则:演示文稿_B66D/规则:页面设置集_B670/规则:页面设置_B638/演:页码格式_6BDF[1]"/> |
| <xsl:choose> |
| <xsl:when test="$pageNumberFormat='upper-letter'">0</xsl:when> |
| <xsl:when test="$pageNumberFormat='lower-letter'">1</xsl:when> |
| <xsl:when test="$pageNumberFormat='upper-roman'">2</xsl:when> |
| <xsl:when test="$pageNumberFormat='lower-roman'">3</xsl:when> |
| <xsl:when test="$pageNumberFormat='decimal'">4</xsl:when> |
| <xsl:otherwise>5</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>5</xsl:otherwise> |
| </xsl:choose> |
| </config:config-item> |
| </config:config-item-set> |
| </xsl:template> |
| <xsl:template match="式样:段落式样_9912" mode="presentation-default"> |
| <xsl:element name="style:default-style"> |
| <xsl:attribute name="style:family">graphic</xsl:attribute> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="tabstop" select="string('default')"/> |
| </xsl:call-template> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@类型_4102='default'][1]"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| <xsl:for-each select="字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="OfficeStylePresentation"> |
| <!--xsl:for-each select="uof:演示文稿"> |
| <xsl:for-each select="演:公用处理规则"> |
| <xsl:for-each select="演:页面版式集"> |
| <xsl:apply-templates select="演:页面版式"/> |
| </xsl:for-each> |
| </xsl:for-each> |
| <xsl:for-each select="演:主体/演:母版集/演:母版"> |
| <xsl:if test="@演:类型='slide'"> |
| <xsl:apply-templates select="." mode="OfficeStyle"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:for-each--> |
| <xsl:apply-templates select="规则:公用处理规则_B665/规则:演示文稿_B66D/规则:页面版式集_B651/规则:页面版式_B652"/> |
| <xsl:for-each select="演:演示文稿文档_6C10/演:母版集_6C0C/演:母版_6C0D"> |
| <xsl:if test="@类型_6BEA='slide'"> |
| <xsl:apply-templates select="." mode="OfficeStyle"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="演:母版_6C0D" mode="OfficeStyle"> |
| <xsl:variable name="TextStyle" select="key('MasterTextStyle',@文本式样引用_6BED)"/> |
| <xsl:variable name="MasterName" select="@标识符_6BE8"/> |
| <xsl:for-each select="uof:锚点_C644"> |
| <xsl:choose> |
| <xsl:when test="uof:占位符_C626/@类型_C627='title'"> |
| <style:style style:family="presentation"> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat($MasterName,'-title')"/></xsl:attribute> |
| <xsl:call-template name="OfficeStyleGraphProp"> |
| <xsl:with-param name="NumberID" select="$TextStyle/式样:段落式样_9912[字:大纲级别_417C='0'][1]/字:自动编号信息_4186/@编号引用_4187"/> |
| </xsl:call-template> |
| <xsl:for-each select="$TextStyle/式样:段落式样_9912[字:大纲级别_417C='0'][1]"> |
| <xsl:apply-templates select="." mode="OfficeStyle"> |
| <xsl:with-param name="TextStyle" select="$TextStyle"/> |
| <xsl:with-param name="SetDefaultTitle" select="'true'"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| <xsl:if test="count($TextStyle/式样:段落式样_9912[字:大纲级别_417C='0'])=0"> |
| <style:paragraph-properties fo:text-align="center" style:text-autospace="ideograph-alpha" style:punctuation-wrap="simple" style:line-break="strict"/> |
| <style:text-properties style:text-outline="false" fo:font-family="'Times New Roman'" fo:font-size="44pt" fo:letter-spacing="normal" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" style:letter-kerning="true" style:font-family-asian="宋体" style:font-size-asian="44pt" style:font-style-asian="normal" style:font-size-complex="44pt" style:font-style-complex="normal" style:text-emphasize="none" style:text-scale="100%" style:font-relief="none"/> |
| </xsl:if> |
| </style:style> |
| </xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627='text' or uof:占位符_C626/@类型_C627='outline'"> |
| <xsl:variable name="GraphName" select="@图形引用_C62E"/> |
| <style:style style:family="presentation"> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat($MasterName,'-outline1')"/></xsl:attribute> |
| <xsl:call-template name="OfficeStyleGraphProp"> |
| <xsl:with-param name="NumberID" select="$TextStyle/式样:段落式样_9912[字:大纲级别_417C='1'][1]/字:自动编号信息_4186/@编号引用_4187"/> |
| </xsl:call-template> |
| <xsl:for-each select="$TextStyle/式样:段落式样_9912[字:大纲级别_417C='1'][1]"> |
| <xsl:apply-templates select="." mode="OfficeStyle"> |
| <xsl:with-param name="TextStyle" select="$TextStyle"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| </style:style> |
| <!-- 若存在相同大纲级别的多个段落式样,取第一个 --> |
| <xsl:for-each-group select="$TextStyle/式样:段落式样_9912" group-by="字:大纲级别_417C"> |
| <xsl:if test="not(字:大纲级别_417C='0' or 字:大纲级别_417C='1')"> |
| <style:style style:family="presentation"> |
| <xsl:attribute name="style:name"><xsl:value-of select="concat($MasterName,'-outline',string(字:大纲级别_417C))"/></xsl:attribute> |
| <xsl:variable name="SetDefaultOutLine"> |
| <xsl:variable name="OutlineNumber" select="number(字:大纲级别_417C)"/> |
| <xsl:variable name="Parent" select="@基式样引用_4104"/> |
| <xsl:variable name="ParentPart" select="concat('-outline',string($OutlineNumber - 1))"/> |
| <xsl:choose> |
| <xsl:when test="contains($Parent, $ParentPart)"> |
| <xsl:value-of select="'false'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="'true'"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:apply-templates select="." mode="OfficeStyle"> |
| <xsl:with-param name="TextStyle" select="$TextStyle"/> |
| <xsl:with-param name="SetDefaultOutLine" select="$SetDefaultOutLine"/> |
| </xsl:apply-templates> |
| </style:style> |
| </xsl:if> |
| </xsl:for-each-group> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:template> |
| <!--<xsl:template name="DefaultMasterFooterOrHeaderOrDatetimeSize"> |
| <xsl:param name="textAreaHeight"/> |
| <xsl:param name="textAreaWidth"/> |
| <xsl:variable name="dateX" select="0.05 * number($textAreaWidth)"/> |
| <xsl:variable name="footerX" select="0.342 * number($textAreaWidth)"/> |
| <xsl:variable name="numberX" select="0.717 * number($textAreaWidth)"/> |
| <xsl:variable name="dateOrNumberWidth"> |
| <xsl:value-of select="number(0.2329643) * number($textAreaWidth)"/> |
| </xsl:variable> |
| <xsl:variable name="footerWidth" select="0.31696 * number($textAreaWidth)"/> |
| <xsl:variable name="Y" select="0.911 * $textAreaHeight"/> |
| <xsl:variable name="Height" select="0.0689524 * $textAreaHeight"/> |
| <xsl:if test="not(uof:锚点_C644/uof:占位符_C626[@类型_C627 = 'date'])"> |
| <draw:frame presentation:style-name="Mpr1" draw:text-style-name="MP1" draw:layer="backgroundobjects" svg:width="6.523cm" svg:height="1.448cm" svg:x="1.4cm" svg:y="19.131cm" presentation:class="date-time"> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat($dateOrNumberWidth,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat($Height,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat($dateX,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat($Y,$uofUnit)"/></xsl:attribute> |
| <draw:text-box> |
| <text:p text:style-name="MP1"> |
| <presentation:date-time/> |
| </text:p> |
| </draw:text-box> |
| </draw:frame> |
| </xsl:if> |
| <xsl:if test="not(uof:锚点_C644/uof:占位符_C626[@类型_C627 = 'footer'])"> |
| <draw:frame presentation:style-name="Mpr1" draw:text-style-name="MP3" draw:layer="backgroundobjects" svg:width="8.875cm" svg:height="1.448cm" svg:x="9.576cm" svg:y="19.131cm" presentation:class="footer"> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat($footerWidth,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat($Height,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat($footerX,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat($Y,$uofUnit)"/></xsl:attribute> |
| <draw:text-box> |
| <text:p text:style-name="MP3"> |
| <presentation:footer/> |
| </text:p> |
| </draw:text-box> |
| </draw:frame> |
| </xsl:if> |
| <xsl:if test="not(uof:锚点_C644/uof:占位符_C626[@类型_C627 = 'number'])"> |
| <draw:frame presentation:style-name="Mpr1" draw:text-style-name="MP2" draw:layer="backgroundobjects" svg:width="6.523cm" svg:height="1.448cm" svg:x="20.076cm" svg:y="19.131cm" presentation:class="page-number"> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat($dateOrNumberWidth,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat($Height,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat($numberX,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat($Y,$uofUnit)"/></xsl:attribute> |
| <draw:text-box> |
| <text:p text:style-name="MP2"> |
| <text:page-number><编号></text:page-number> |
| </text:p> |
| </draw:text-box> |
| </draw:frame> |
| </xsl:if> |
| </xsl:template>--> |
| <xsl:template name="OfficeStyleGraphProp"> |
| <xsl:param name="NumberID"/> |
| <xsl:variable name="GraphName" select="@图形引用_C62E"/> |
| <xsl:variable name="textanchor" select="."/> |
| <style:graphic-properties draw:stroke="none"> |
| <!--增加演示文稿文本框中min-height属性--> |
| <xsl:if test="uof:占位符_C626/@类型_C627"> |
| <xsl:attribute name="fo:min-height"><xsl:value-of select="concat(uof:大小_C621/@长_C604,$uofUnit)"/></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="key('graph-styles',$GraphName)"> |
| <xsl:apply-templates select="图:预定义图形_8018" mode="Graph"> |
| <xsl:with-param name="textanchor" select="$textanchor"/> |
| </xsl:apply-templates> |
| <xsl:apply-templates select="图:文本_803C" mode="Graph"> |
| <xsl:with-param name="textanchor" select="$textanchor"/> |
| </xsl:apply-templates> |
| </xsl:for-each> |
| <xsl:if test="$NumberID != ''"> |
| <xsl:for-each select="key('AutoNumber',$NumberID)"> |
| <xsl:apply-templates select="." mode="liststyle"/> |
| </xsl:for-each> |
| </xsl:if> |
| </style:graphic-properties> |
| </xsl:template> |
| <xsl:template name="DefaultParaTitle"> |
| <xsl:attribute name="fo:text-align" select="'center'"/> |
| </xsl:template> |
| <xsl:template name="DefaultParaOutLine"> |
| <xsl:attribute name="fo:margin-left" select="'0cm'"/> |
| <xsl:attribute name="fo:margin-right" select="'0cm'"/> |
| <xsl:attribute name="fo:margin-top" select="'0cm'"/> |
| <xsl:attribute name="fo:margin-bottom" select="'0cm'"/> |
| <xsl:attribute name="fo:line-height" select="'100%'"/> |
| <xsl:attribute name="fo:text-indent" select="'0cm'"/> |
| </xsl:template> |
| <xsl:template name="DefaultTextTitle"> |
| <xsl:attribute name="fo:font-size" select="'44pt'"/> |
| <xsl:attribute name="style:font-size-asian" select="'44pt'"/> |
| <xsl:attribute name="style:font-size-complex" select="'44pt'"/> |
| </xsl:template> |
| <xsl:template name="DefaultTextOutLine"> |
| <xsl:attribute name="style:use-window-font-color" select="'true'"/> |
| <xsl:attribute name="style:text-outline" select="'false'"/> |
| <xsl:attribute name="style:text-line-through-style" select="'none'"/> |
| <!--<xsl:attribute name="fo:font-family" select="''Times New Roman''"/>--> |
| <xsl:attribute name="style:font-family-generic" select="'roman'"/> |
| <xsl:attribute name="style:font-pitch" select="'variable'"/> |
| <xsl:attribute name="fo:font-size" select="'18pt'"/> |
| <xsl:attribute name="fo:font-style" select="'normal'"/> |
| <xsl:attribute name="fo:text-shadow" select="'none'"/> |
| <xsl:attribute name="style:text-underline-style" select="'none'"/> |
| <xsl:attribute name="fo:font-weight" select="'normal'"/> |
| <xsl:attribute name="style:letter-kerning" select="'true'"/> |
| <xsl:attribute name="style:font-family-asian" select="'宋体'"/> |
| <xsl:attribute name="style:font-family-generic-asian" select="'system'"/> |
| <xsl:attribute name="style:font-pitch-asian" select="'variable'"/> |
| <xsl:attribute name="style:font-size-asian" select="'18pt'"/> |
| <xsl:attribute name="style:font-style-asian" select="'normal'"/> |
| <xsl:attribute name="style:font-weight-asian" select="'normal'"/> |
| <xsl:attribute name="style:font-family-complex" select="'Tahoma'"/> |
| <xsl:attribute name="style:font-family-generic-complex" select="'system'"/> |
| <xsl:attribute name="style:font-pitch-complex" select="'variable'"/> |
| <xsl:attribute name="style:font-size-complex" select="'18pt'"/> |
| <xsl:attribute name="style:font-style-complex" select="'normal'"/> |
| <xsl:attribute name="style:font-weight-complex" select="'normal'"/> |
| <xsl:attribute name="style:text-emphasize" select="'none'"/> |
| <xsl:attribute name="style:font-relief" select="'none'"/> |
| <xsl:attribute name="style:text-overline-style" select="'none'"/> |
| <xsl:attribute name="style:text-overline-color" select="'font-color'"/> |
| </xsl:template> |
| <xsl:template match="式样:段落式样_9912" mode="OfficeStyle"> |
| <xsl:param name="TextStyle"/> |
| <xsl:param name="SetDefaultTitle"/> |
| <xsl:param name="SetDefaultOutLine"/> |
| <xsl:variable name="parentName" select="@基式样引用_4104"/> |
| <xsl:element name="style:paragraph-properties"> |
| <xsl:if test="$SetDefaultTitle = 'true'"> |
| <xsl:call-template name="DefaultParaTitle"/> |
| </xsl:if> |
| <xsl:if test="$SetDefaultOutLine = 'true'"> |
| <xsl:call-template name="DefaultParaOutLine"/> |
| </xsl:if> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样[@类型_4102 = 'default'][1]"> |
| <xsl:call-template name="ParaPropertiesAttr"/> |
| </xsl:for-each> |
| <!-- xsl:call-template name="ParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$parentName"/> |
| </xsl:call-template> |
| <xsl:call-template name="ParaPropertiesAttr"/--> |
| <xsl:call-template name="ParaPropertiesAll"> |
| <xsl:with-param name="Stylename" select="$parentName"/> |
| </xsl:call-template> |
| </xsl:element> |
| <xsl:element name="style:text-properties"> |
| <xsl:if test="$SetDefaultTitle = 'true'"> |
| <xsl:call-template name="DefaultTextTitle"/> |
| </xsl:if> |
| <xsl:if test="$SetDefaultOutLine = 'true'"> |
| <xsl:call-template name="DefaultTextOutLine"/> |
| </xsl:if> |
| <xsl:attribute name="fo:text-shadow">none</xsl:attribute> |
| <xsl:attribute name="style:text-scale">100%</xsl:attribute> |
| <xsl:attribute name="fo:letter-spacing">normal</xsl:attribute> |
| <xsl:for-each select="/uof:UOF_0000/式样:式样集_990B/式样:段落式样集_9911/式样:段落式样[@类型_4102 = 'default'][1]/字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| <xsl:call-template name="TextParaParentProperties"> |
| <xsl:with-param name="Stylename" select="$parentName"/> |
| </xsl:call-template> |
| <xsl:for-each select="字:句属性_4158"> |
| <xsl:call-template name="TextProperties"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="规则:页面版式_B652"> |
| <xsl:element name="style:presentation-page-layout"> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_6B0D"/></xsl:attribute> |
| <xsl:for-each select="uof:锚点_C644"> |
| <presentation:placeholder> |
| <xsl:variable name="placeChar"> |
| <xsl:choose> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'clipart'">graphic</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'media_clip'">graphic</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'graphics'">graphic</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'number'">page-number</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'centertitle'">title</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'date'">date-time</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'chart'">chart</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'title'"> |
| <xsl:choose> |
| <xsl:when test="../uof:锚点_6B19/uof:占位符_C626[@类型_C627='centertitle']">subtitle</xsl:when> |
| <xsl:otherwise>title</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'subtitle'">subtitle</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'text'">outline</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'object'">object</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'header'">header</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'footer'">footer</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'table'">table</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'outline'">outline</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'handout'">handout</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'notes'">notes</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'vertical_text'">outline</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'vertical_title'">title</xsl:when> |
| <xsl:when test="uof:占位符_C626/@类型_C627 = 'vertical_subtitle'">subtitle</xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="presentation:object"><xsl:value-of select="$placeChar"/></xsl:attribute> |
| <xsl:attribute name="svg:x"><xsl:value-of select="concat(uof:位置_C620/uof:水平_4106/uof:绝对_4107/@值_4108,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:y"><xsl:value-of select="concat(uof:位置_C620/uof:垂直_410D/uof:绝对_4107/@值_4108,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:width"><xsl:value-of select="concat(uof:大小_C621/@宽_C605,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="svg:height"><xsl:value-of select="concat(uof:大小_C621/@长_C604,$uofUnit)"/></xsl:attribute> |
| </presentation:placeholder> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="AutoStylePresentation"> |
| <!--xsl:for-each select="uof:演示文稿"> |
| <xsl:for-each select="演:公用处理规则"> |
| <xsl:for-each select="演:页面设置集"> |
| <xsl:apply-templates select="演:页面设置"/> |
| </xsl:for-each> |
| <xsl:for-each select="演:文本式样集"> |
| <xsl:apply-templates select="演:文本式样/演:段落式样" mode="AutoStyle"/> |
| </xsl:for-each> |
| </xsl:for-each> |
| <xsl:for-each select="演:主体"> |
| <xsl:apply-templates select="演:母版集/演:母版" mode="AutoStyle"/> |
| <xsl:apply-templates select="演:幻灯片集/演:幻灯片" mode="AutoStyle"/> |
| </xsl:for-each> |
| </xsl:for-each--> |
| <!--设置母板页眉页脚的默认式样--> |
| <xsl:if test="not(演:演示文稿文档_6C10/演:母版集_6C0C/演:母版_6C0D/uof:锚点_C644/uof:占位符_C626[@类型_C627 = 'header']) or not(演:演示文稿文档_6C10/演:母版集_6C0C/演:母版_6C0D/uof:锚点_C644/uof:占位符_C626[@类型_C627 = 'date']) or not(演:演示文稿文档_6C10/演:母版集_6C0C/演:母版_6C0D/uof:锚点_C644/uof:占位符_C626[@类型_C627 = 'number'])"> |
| <style:style style:name="Mpr1" style:family="presentation"> |
| <style:graphic-properties draw:stroke="none" draw:fill="none" draw:fill-color="#ffffff" draw:auto-grow-height="false"/> |
| </style:style> |
| <style:style style:name="MP1" style:family="paragraph"> |
| <style:text-properties fo:font-size="14pt" style:font-size-asian="14pt" style:font-size-complex="14pt"/> |
| </style:style> |
| <style:style style:name="MP2" style:family="paragraph"> |
| <style:paragraph-properties fo:text-align="end"/> |
| <style:text-properties fo:font-size="14pt" style:font-size-asian="14pt" style:font-size-complex="14pt"/> |
| </style:style> |
| <style:style style:name="MP3" style:family="paragraph"> |
| <style:paragraph-properties fo:text-align="center"/> |
| <style:text-properties fo:font-size="14pt" style:font-size-asian="14pt" style:font-size-complex="14pt"/> |
| </style:style> |
| </xsl:if> |
| <xsl:apply-templates select="规则:公用处理规则_B665/规则:演示文稿_B66D/规则:页面设置集_B670/规则:页面设置_B638"/> |
| <xsl:apply-templates select="演:演示文稿文档_6C10/演:母版集_6C0C/演:母版_6C0D" mode="AutoStyle"/> |
| <!--xsl:apply-templates select="演:演示文稿文档_6C10/演:幻灯片集_6C0E/演:幻灯片_6C0F" mode="AutoStyle"/--> |
| </xsl:template> |
| <xsl:template match="规则:页面设置_B638"> |
| <xsl:element name="style:page-layout"> |
| <xsl:attribute name="style:name"><xsl:value-of select="@标识符_B671"/></xsl:attribute> |
| <xsl:element name="style:page-layout-properties"> |
| <xsl:variable name="page-width"> |
| <xsl:choose> |
| <xsl:when test="演:纸张_6BDD/@宽_C605"> |
| <xsl:value-of select="concat(演:纸张_6BDD/@宽_C605,$uofUnit)"/> |
| </xsl:when> |
| <xsl:when test="演:纸张方向_6BE1 = 'portrait'"> |
| <xsl:choose> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A3'">297mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A4'">210mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A5'">148mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'B4'">250mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'B5'">176mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'letter-small'">215.9mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'letter'">215.9mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-16K'">184mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-32K'">130mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-32K(Big)'">140mm</xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="演:纸张方向_6BE1 = 'landscape'"> |
| <xsl:choose> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A3'">420mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A4'">297mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A5'">210mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'B4'">353mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'B5'">250mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'letter-small'">355.7mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'letter'">279.4mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-16K'">260mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-32K'">184mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-32K(Big)'">203mm</xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="page-height"> |
| <xsl:choose> |
| <xsl:when test="演:纸张_6BDD/@长_C604"> |
| <xsl:value-of select="concat(演:纸张_6BDD/@长_C604,$uofUnit)"/> |
| </xsl:when> |
| <xsl:when test="演:纸张方向_6BE1 = 'portrait'"> |
| <xsl:choose> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A3'">420mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A4'">297mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A5'">210mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'B4'">353mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'B5'">250mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'letter-small'">355.7mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'letter'">279.4mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-16K'">260mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-32K'">184mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-32K(Big)'">203mm</xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:when test="演:纸张方向_6BE1 = 'landscape'"> |
| <xsl:choose> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A3'">297mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A4'">210mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'A5'">148mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'B4'">250mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'B5'">176mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@u纸型_C60C = 'letter-small'">215.9mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'letter'">215.9mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-16K'">184mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-32K'">130mm</xsl:when> |
| <xsl:when test="演:纸张_6BDD/@纸型_C60C = 'PRC-32K(Big)'">140mm</xsl:when> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="fo:page-width"><xsl:value-of select="$page-width"/></xsl:attribute> |
| <xsl:attribute name="fo:page-height"><xsl:value-of select="$page-height"/></xsl:attribute> |
| <xsl:for-each select="演:页边距_6BDE"> |
| <xsl:attribute name="fo:margin-top"><xsl:value-of select="concat(@上_C609,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:margin-bottom"><xsl:value-of select="concat(@下_C60B,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:margin-left"><xsl:value-of select="concat(@左_C608,$uofUnit)"/></xsl:attribute> |
| <xsl:attribute name="fo:margin-right"><xsl:value-of select="concat(@右_C60A,$uofUnit)"/></xsl:attribute> |
| </xsl:for-each> |
| <xsl:choose> |
| <xsl:when test="演:纸张方向_6BE1 = 'landscape'"> |
| <xsl:attribute name="style:print-orientation">landscape</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="style:print-orientation">portrait</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="式样:段落式样_9912" mode="AutoStyle"> |
| <!--部分案例不规范 式样类型写成default 造成丢失 故稍作修改 |
| <xsl:call-template name="UOFParagraphStyle"> |
| <xsl:with-param name="Type" select="string('auto')"/> |
| </xsl:call-template--> |
| <xsl:element name="style:style"> |
| <xsl:call-template name="OneParagraphStyle"/> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template name="showSettings"> |
| <xsl:variable name="displayorderref" select="规则:放映顺序_B658"/> |
| <xsl:element name="presentation:settings"> |
| <xsl:attribute name="presentation:mouse-visible">false</xsl:attribute> |
| <xsl:if test="string(规则:是否循环放映_B65A)='true'"> |
| <xsl:attribute name="presentation:endless">true</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:幻灯片序列_B654[@标识符_B655=$displayorderref]/@是否自定义_B657='true'"> |
| <xsl:attribute name="presentation:show"><xsl:value-of select="$displayorderref"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(规则:是否全屏放映_B659)='false'"> |
| <xsl:attribute name="presentation:full-screen">false</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(规则:是否手动方式_B65C)='true'"> |
| <xsl:attribute name="presentation:force-manual">true</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(规则:是否使用导航帮助_B65D)='true'"> |
| <xsl:attribute name="presentation:start-with-navigator">true</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(规则:是否放映动画_B65E)='false'"> |
| <xsl:attribute name="presentation:animations">disabled</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="string(规则:是否前端显示_B65F)='true'"> |
| <xsl:attribute name="presentation:stay-on-top">true</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="规则:放映间隔_B65B"> |
| <xsl:variable name="displayinterval" select="规则:放映间隔_B65B"/> |
| <xsl:attribute name="presentation:pause"><xsl:if test="contains($displayinterval,'P0Y0M0DT')"><xsl:variable name="OOtime"><xsl:value-of select="substring-after(规则:放映间隔_B65B,'P0Y0M0DT')"/></xsl:variable><xsl:value-of select="concat('PT',$OOtime)"/></xsl:if><xsl:if test="contains($displayinterval,'PT')"><xsl:value-of select="$displayinterval"/></xsl:if></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="规则:幻灯片序列_B654"> |
| <xsl:choose> |
| <xsl:when test="@标识符_B655=$displayorderref"> |
| <xsl:variable name="space" select="."/> |
| <xsl:choose> |
| <xsl:when test="@是否自定义_B657='false'"> |
| <xsl:variable name="start"> |
| <xsl:choose> |
| <xsl:when test="contains($space,' ')"> |
| <xsl:value-of select="substring-before($space,' ')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$space"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="end"> |
| <xsl:choose> |
| <xsl:when test="contains($space,' ')"> |
| <xsl:value-of select="substring-after($space,' ')"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:value-of select="$space"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:if test="not($start='')"> |
| <xsl:attribute name="presentation:start-page"><xsl:value-of select="$start"/></xsl:attribute> |
| </xsl:if> |
| <xsl:if test="not($end='')"> |
| <xsl:attribute name="presentation:end-page"><xsl:value-of select="$end"/></xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="presentation:show"><xsl:value-of select="$displayorderref"/></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:for-each> |
| <xsl:for-each select="规则:幻灯片序列_B654"> |
| <xsl:element name="presentation:show"> |
| <xsl:attribute name="presentation:name" select="@标识符_B655"/> |
| <xsl:attribute name="presentation:pages" select="replace(.,' ',',')"/> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="演:母版_6C0D" mode="AutoStyle"> |
| <xsl:variable name="MasterName" select="@标识符_6BE8"/> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:name" select="concat($MasterName,'_draw')"/> |
| <xsl:attribute name="style:family">drawing-page</xsl:attribute> |
| <xsl:element name="style:drawing-page-properties"> |
| <xsl:for-each select="演:背景_6B2C"> |
| <xsl:call-template name="FillGraph"/> |
| </xsl:for-each> |
| <!--母版页面式样设置页眉页脚是否显示不起作用,故不应用PlaceholderDisplay模板--> |
| </xsl:element> |
| </xsl:element> |
| <!--动画在幻灯片页中处理--> |
| </xsl:template> |
| <xsl:template match="演:幻灯片_6C0F" mode="AutoStyle"> |
| <xsl:variable name="MasterName" select="@母版引用_6B26"/> |
| <xsl:variable name="SlideName" select="@标识符_6B0A"/> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:name" select="concat($SlideName,'_draw')"/> |
| <xsl:attribute name="style:family">drawing-page</xsl:attribute> |
| <xsl:element name="style:drawing-page-properties"> |
| <xsl:for-each select="演:背景_6B2C"> |
| <xsl:call-template name="FillGraph"/> |
| </xsl:for-each> |
| <xsl:attribute name="presentation:visibility"><xsl:choose><xsl:when test="@是否显示_6B28='false' or @是否显示_6B28='0'">hidden</xsl:when><xsl:otherwise>visible</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="presentation:background-visible"><xsl:choose><xsl:when test="@是否显示背景_6B29='false' or @是否显示背景_6B29='0'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="presentation:background-objects-visible"><xsl:choose><xsl:when test="@是否显示背景对象_6B2A='false' or @是否显示背景对象_6B2A='0'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:for-each select="演:切换_6B1F"> |
| <xsl:for-each select="演:方式_6B23"> |
| <!--切换声音在动画中处理--> |
| <xsl:attribute name="presentation:transition-type"><xsl:value-of select="'manual'"/></xsl:attribute> |
| <xsl:if test="演:单击鼠标_6B24='false' or 演:单击鼠标_6B24='0'"> |
| <xsl:attribute name="presentation:transition-type"><xsl:value-of select="'none'"/></xsl:attribute> |
| <xsl:if test="演:时间间隔_6B25"> |
| <xsl:attribute name="presentation:transition-type"><xsl:value-of select="'automatic'"/></xsl:attribute> |
| </xsl:if> |
| </xsl:if> |
| <xsl:if test="演:时间间隔_6B25"> |
| <xsl:attribute name="presentation:duration"><!--UOF的时间表示如果与ODF不一致需做进一步处理--><xsl:value-of select="演:时间间隔_6B25"/></xsl:attribute> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:if test="演:速度_6B21"> |
| <xsl:attribute name="presentation:transition-speed"><xsl:value-of select="演:速度_6B21"/></xsl:attribute> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:variable name="isFirstSld"> |
| <xsl:choose> |
| <xsl:when test="preceding-sibling::演:幻灯片_6C0F">0</xsl:when> |
| <xsl:otherwise>1</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:for-each select="key('HeaderFooterP','规则:幻灯片_B641')"> |
| <xsl:choose> |
| <xsl:when test="@标题幻灯片中是否显示_B64B='true'and $isFirstSld='1' "> |
| <xsl:attribute name="presentation:display-date-time" select="'false'"/> |
| <xsl:attribute name="presentation:display-footer" select="'false'"/> |
| <xsl:attribute name="presentation:display-page-number" select="'false'"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="presentation:display-page-number"><xsl:choose><xsl:when test="@是否显示幻灯片编号_B64A='true'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="presentation:display-date-time"><xsl:choose><xsl:when test="@是否显示日期和时间_B647='false'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="presentation:display-footer"><xsl:choose><xsl:when test="@是否显示页脚_B648='false'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| <xsl:element name="style:style"> |
| <xsl:attribute name="style:name" select="concat($SlideName,'_N_draw')"/> |
| <xsl:attribute name="style:family">drawing-page</xsl:attribute> |
| <xsl:element name="style:drawing-page-properties"> |
| <xsl:for-each select="演:幻灯片备注_6B1D/演:背景_6B2C"> |
| <xsl:call-template name="FillGraph"/> |
| </xsl:for-each> |
| <xsl:for-each select="key('HeaderFooterP','规则:讲义和备注_B64C')"> |
| <xsl:attribute name="presentation:display-header"><xsl:choose><xsl:when test="@是否显示页眉_B64F='false'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="presentation:display-page-number"><xsl:choose><xsl:when test="@是否显示页码_B650='false'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="presentation:display-date-time"><xsl:choose><xsl:when test="@是否显示日期和时间_B647='false'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="presentation:display-footer"><xsl:choose><xsl:when test="@是否显示页脚_B648='false'">false</xsl:when><xsl:otherwise>true</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| <!--动画在幻灯片页中处理--> |
| </xsl:template> |
| <xsl:template name="MasterStylePresentation"> |
| <draw:layer-set> |
| <!-- uof中无对应项 --> |
| <draw:layer draw:name="layout"/> |
| <draw:layer draw:name="background"/> |
| <draw:layer draw:name="backgroundobjects"/> |
| <draw:layer draw:name="controls"/> |
| <draw:layer draw:name="measurelines"/> |
| </draw:layer-set> |
| <xsl:apply-templates select="演:演示文稿文档_6C10/演:母版集_6C0C/演:母版_6C0D"/> |
| </xsl:template> |
| <xsl:template match="演:母版_6C0D"> |
| <xsl:variable name="pageLayoutStyleName" select="@页面设置引用_6C18"/> |
| <xsl:variable name="textAreaHeight"> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:页面设置集_B670/规则:页面设置_B638[@标识符_B671 = $pageLayoutStyleName]"> |
| <xsl:variable name="top"> |
| <xsl:choose> |
| <xsl:when test="演:页边距_6BDE/@上_C609"> |
| <xsl:value-of select="演:页边距_6BDE/@上_C609"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="bottom"> |
| <xsl:choose> |
| <xsl:when test="演:页边距_6BDE/@下_C60B"> |
| <xsl:value-of select="演:页边距_6BDE/@下_C60B"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="number(演:纸张_6BDD/@长_C604) - number($top) - number($bottom)"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:variable name="textAreaWidth"> |
| <xsl:for-each select="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:页面设置集_B670/规则:页面设置_B638[@标识符_B671 = $pageLayoutStyleName]"> |
| <xsl:variable name="left"> |
| <xsl:choose> |
| <xsl:when test="演:页边距_6BDE/@左_C608"> |
| <xsl:value-of select="演:页边距_6BDE/@左_C608"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="right"> |
| <xsl:choose> |
| <xsl:when test="演:页边距_6BDE/@右_C60A"> |
| <xsl:value-of select="演:页边距_6BDE/@右_C60A"/> |
| </xsl:when> |
| <xsl:otherwise>0</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:value-of select="number(演:纸张_6BDD/@宽_C605) - number($left) - number($right)"/> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="@类型_6BEA = 'handout' "> |
| <xsl:element name="style:handout-master"> |
| <xsl:variable name="MasterName" select="@标识符_6BE8"/> |
| <xsl:attribute name="style:name"><xsl:value-of select="$MasterName"/></xsl:attribute> |
| <xsl:attribute name="style:page-layout-name"><xsl:value-of select="@页面设置引用_6C18"/></xsl:attribute> |
| <xsl:attribute name="draw:style-name" select="concat($MasterName,'_draw')"/> |
| <xsl:if test="@页面版式引用_6BEC"> |
| <xsl:attribute name="presentation:presentation-page-layout-name"><xsl:value-of select="@页面版式引用_6BEC"/></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="uof:锚点_C644"> |
| <xsl:call-template name="ObjectContent"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| <xsl:when test="@类型_6BEA = 'slide' or not(@类型_6BEA)"> |
| <xsl:element name="style:master-page"> |
| <xsl:variable name="MasterName" select="@标识符_6BE8"/> |
| <xsl:attribute name="style:name"><xsl:value-of select="$MasterName"/></xsl:attribute> |
| <!-- 只要@style:name和@style:display-name不一致,则幻灯片、母版中的文字默认采用软件预设的段落式样,实际设置的式样信息丢失 --> |
| <!--<xsl:attribute name="style:display-name"><xsl:value-of select="@演:名称"/></xsl:attribute> |
| --> |
| <xsl:attribute name="style:display-name"><xsl:value-of select="$MasterName"/></xsl:attribute> |
| <!-- <xsl:attribute name="style:page-layout-name"><xsl:value-of select="'PM1'"/></xsl:attribute> |
| --> |
| <xsl:attribute name="style:page-layout-name"><xsl:value-of select="@页面设置引用_6C18"/></xsl:attribute> |
| <xsl:attribute name="draw:style-name" select="concat($MasterName,'_draw')"/> |
| <xsl:for-each select="uof:锚点_C644"> |
| <xsl:call-template name="ObjectContent"/> |
| </xsl:for-each> |
| <!--演示文稿母板中默认页眉页脚 |
| <xsl:call-template name="DefaultMasterFooterOrHeaderOrDatetimeSize"> |
| <xsl:with-param name="textAreaHeight" select="$textAreaHeight"/> |
| <xsl:with-param name="textAreaWidth" select="$textAreaWidth"/> |
| </xsl:call-template>--> |
| <!--可能在不同幻灯片中出现不一致slide母版-note母版引用,取第一次出现的note母版放入slide母版下--> |
| <xsl:variable name="NoteMasterName" select="key('Slide',$MasterName)[1]/演:幻灯片备注_6B1D/@备注母版引用_6B2D"/> |
| <xsl:for-each select="../演:母版_6C0D[@标识符_6BE8=$NoteMasterName]"> |
| <xsl:if test="@类型_6BEA = 'notes'"> |
| <xsl:element name="presentation:notes"> |
| <!-- <xsl:attribute name="style:page-layout-name"><xsl:value-of select="'PM1'"/></xsl:attribute> |
| --> |
| <xsl:attribute name="style:page-layout-name"><xsl:value-of select="@页面设置引用_6C18"/></xsl:attribute> |
| <xsl:attribute name="draw:style-name"><xsl:value-of select="concat($NoteMasterName,'_draw')"/></xsl:attribute> |
| <xsl:for-each select="uof:锚点_C644"> |
| <xsl:call-template name="ObjectContent"/> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="演:演示文稿文档_6C10"> |
| <office:body> |
| <office:presentation> |
| <xsl:for-each select="../规则:公用处理规则_B665/规则:演示文稿_B66D"> |
| <xsl:apply-templates select="规则:页眉页脚集_B640"/> |
| </xsl:for-each> |
| <xsl:for-each select="演:幻灯片集_6C0E/演:幻灯片_6C0F"> |
| <xsl:apply-templates select="."/> |
| </xsl:for-each> |
| <xsl:for-each select="../规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653"> |
| <xsl:call-template name="showSettings"/> |
| </xsl:for-each> |
| </office:presentation> |
| </office:body> |
| </xsl:template> |
| <xsl:template match="规则:页眉页脚集_B640"> |
| <xsl:for-each select="规则:幻灯片_B641"> |
| <xsl:for-each select="规则:页脚_B644"> |
| <xsl:element name="presentation:footer-decl"> |
| <xsl:attribute name="presentation:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:value-of select="."/> |
| </xsl:element> |
| </xsl:for-each> |
| <xsl:element name="presentation:date-time-decl"> |
| <xsl:attribute name="presentation:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="string(@是否自动更新日期和时间_B649)='true'"> |
| <xsl:attribute name="presentation:source">current-date</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="presentation:source">fixed</xsl:attribute> |
| <xsl:value-of select="规则:日期和时间字符串_B643"/> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:for-each> |
| <xsl:for-each select="规则:讲义和备注_B64C"> |
| <xsl:for-each select="规则:页脚_B644"> |
| <xsl:element name="presentation:footer-decl"> |
| <xsl:attribute name="presentation:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:value-of select="string(.)"/> |
| </xsl:element> |
| </xsl:for-each> |
| <xsl:for-each select="规则:页眉_B64D"> |
| <xsl:element name="presentation:header-decl"> |
| <xsl:attribute name="presentation:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:value-of select="string(.)"/> |
| </xsl:element> |
| </xsl:for-each> |
| <xsl:element name="presentation:date-time-decl"> |
| <xsl:attribute name="presentation:name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="string(@是否自动更新日期和时间_B649)='true'"> |
| <xsl:attribute name="presentation:source">current-date</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="presentation:source">fixed</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:element> |
| </xsl:for-each> |
| </xsl:template> |
| <xsl:template match="演:幻灯片_6C0F"> |
| <xsl:variable name="SlideName" select="@标识符_6B0A"/> |
| <xsl:element name="draw:page"> |
| <xsl:attribute name="draw:name"><xsl:value-of select="$SlideName"/></xsl:attribute> |
| <xsl:attribute name="draw:style-name"><xsl:value-of select="concat($SlideName,'_draw')"/></xsl:attribute> |
| <xsl:attribute name="draw:display-name"><xsl:value-of select="@名称_6B0B"/></xsl:attribute> |
| <xsl:attribute name="draw:master-page-name"><xsl:value-of select="@母版引用_6B26"/></xsl:attribute> |
| <xsl:if test="@页面版式引用_6B27"> |
| <xsl:attribute name="presentation:presentation-page-layout-name"><xsl:value-of select="@页面版式引用_6B27"/></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="key('HeaderFooterP','规则:幻灯片_B641')"> |
| <xsl:for-each select="规则:页脚_B644"> |
| <xsl:attribute name="presentation:use-footer-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:for-each> |
| <xsl:attribute name="presentation:use-date-time-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:for-each> |
| <xsl:if test="(演:切换_6B1F/演:效果_6B20 and 演:切换_6B1F/演:效果_6B20 !='none') or 演:切换_6B1F/演:声音_6B22"> |
| <xsl:attribute name="draw:id"><xsl:value-of select="generate-id()"/></xsl:attribute> |
| </xsl:if> |
| <xsl:for-each select="uof:锚点_C644"> |
| <xsl:if test="not(uof:占位符_C626/@类型_C627='date' or uof:占位符_C626/@类型_C627='footer' or uof:占位符_C626/@类型_C627='number')"> |
| <xsl:call-template name="ObjectContent"/> |
| </xsl:if> |
| </xsl:for-each> |
| <xsl:if test="演:动画_6B1A or (演:切换_6B1F/演:效果_6B20 and 演:切换_6B1F/演:效果_6B20 !='none') or 演:切换_6B1F/演:声音_6B22 or (/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653/规则:声音_B660 and position()= 1)"> |
| <xsl:element name="anim:par"> |
| <xsl:attribute name="presentation:node-type">timing-root</xsl:attribute> |
| <xsl:if test="(演:切换_6B1F/演:效果_6B20 and 演:切换_6B1F/演:效果_6B20 !='none') or 演:切换_6B1F/演:声音_6B22"> |
| <xsl:apply-templates select="演:切换_6B1F"/> |
| </xsl:if> |
| <!--用幻灯片切换声音模拟背景音乐--> |
| <xsl:if test="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653/规则:声音_B660"> |
| <xsl:element name="anim:par"> |
| <xsl:attribute name="smil:begin"><xsl:value-of select="concat(generate-id(),'.begin')"/></xsl:attribute> |
| <xsl:variable name="VoicePath"> |
| <xsl:call-template name="TranslateVoicePath"> |
| <xsl:with-param name="voicetype" select="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653/规则:声音_B660/@预定义声音_C631"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:element name="anim:audio"> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653/规则:声音_B660/@预定义声音_C631 and /uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653/规则:声音_B660/@预定义声音_C631 != 'none'"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="$VoicePath"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653/规则:声音_B660/@自定义声音_C632"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653/规则:声音_B660/@自定义声音_C632"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="/uof:UOF_0000/规则:公用处理规则_B665/规则:演示文稿_B66D/规则:放映设置_B653/规则:声音_B660/@是否循环播放_C633 = 'true'"> |
| <xsl:attribute name="smil:repeatCount">indefinite</xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:element> |
| </xsl:if> |
| <xsl:apply-templates select="演:动画_6B1A"/> |
| </xsl:element> |
| </xsl:if> |
| <!-- 目前版本默认幻灯片均有notes,故写出。由此可保证页眉页脚的相关设置 --> |
| <xsl:element name="presentation:notes"> |
| <xsl:for-each select="key('HeaderFooterP','规则:讲义和备注_B64C')"> |
| <xsl:for-each select="演:页脚_B644"> |
| <xsl:attribute name="presentation:use-footer-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:for-each> |
| <xsl:for-each select="演:页眉_B64D"> |
| <xsl:attribute name="presentation:use-header-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:for-each> |
| <xsl:attribute name="presentation:use-date-time-name"><xsl:value-of select="generate-id(.)"/></xsl:attribute> |
| </xsl:for-each> |
| <xsl:attribute name="draw:style-name"><xsl:value-of select="concat($SlideName,'_N_draw')"/></xsl:attribute> |
| <xsl:for-each select="演:幻灯片备注_6B1D/uof:锚点_C644"> |
| <xsl:if test="not(uof:占位符_C626/@类型_C627='date' or uof:占位符_C626/@类型_C627='footer' or uof:占位符_C626/@类型_C627='number' or uof:占位符_C626/@类型_C627='header')"> |
| <xsl:call-template name="ObjectContent"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:element> |
| </xsl:element> |
| </xsl:template> |
| <!--预处理了一个uof:RoGalleryPath元素,存放声音文件路径--> |
| <xsl:variable name="RoGalleryPath"> |
| <xsl:value-of select="/uof:UOF_0000/uof:RoGalleryPath"/> |
| </xsl:variable> |
| <xsl:template name="TranslateVoicePath"> |
| <xsl:param name="voicetype"/> |
| <xsl:choose> |
| <xsl:when test="$voicetype = 'applause'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/applause.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'arrow'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/arrow.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'bomb'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/bomb.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'breeze'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/breeze.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'camera'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/camera.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'cash register'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/cashregister.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'chime'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/chime.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'click'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/click.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'coin'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/coin.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'drum roll'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/drumroll.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'explosion'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/explosion.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'hammer'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/hammer.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'laser'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/laser.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'push'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/push.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'suction'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/suction.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'typewriter'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/typewriter.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'voltage'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/voltage.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'whoosh'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/whoosh.wav')"/> |
| </xsl:when> |
| <xsl:when test="$voicetype = 'wind'"> |
| <xsl:value-of select="concat('/',$RoGalleryPath,'/wind.wav')"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="SlideSwitchAtrr"> |
| <xsl:variable name="switchSpeed"> |
| <xsl:choose> |
| <xsl:when test="演:速度_6B21='slow'">3s</xsl:when> |
| <xsl:when test="演:速度_6B21='middle'">2s</xsl:when> |
| <xsl:when test="演:速度_6B21='fast'">1s</xsl:when> |
| <xsl:otherwise>3s</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:attribute name="smil:dur"><xsl:value-of select="$switchSpeed"/></xsl:attribute> |
| <xsl:if test="演:效果_6B20 and 演:效果_6B20 != 'none'"> |
| <xsl:variable name="effect"> |
| <xsl:value-of select="演:效果_6B20"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="$effect='box in'"> |
| <xsl:attribute name="smil:type">irisWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">rectangle</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='box out'"> |
| <xsl:attribute name="smil:type">irisWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">rectangle</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='checkerboard across'"> |
| <xsl:attribute name="smil:type">checkerBoardWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">across</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='checkerboard down'"> |
| <xsl:attribute name="smil:type">checkerBoardWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">down</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='comb horizontal'"> |
| <xsl:attribute name="smil:type">pushWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">combHorizontal</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='comb vertical'"> |
| <xsl:attribute name="smil:type">pushWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">combVertical</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='uncover down'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromTop</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='uncover left'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromRight</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='uncover right'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromLeft</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='uncover up'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromBottom</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='uncover left-down'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromTopRight</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='uncover left-up'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromBottomRight</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='uncover right-down'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromTopLeft</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='uncover right-up'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromBottomLeft</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cover down'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromTop</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cover left'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromRight</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cover right'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromLeft</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cover up'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromBottom</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cover left-down'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromTopRight</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cover left-up'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromBottomRight</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cover right-down'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromTopLeft</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cover right-up'"> |
| <xsl:attribute name="smil:type">slideWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromBottomLeft</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='fade through black'"> |
| <xsl:attribute name="smil:type">fade</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fadeOverColor</xsl:attribute> |
| <xsl:attribute name="smil:fadeColor">#000000</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='fade smoothly'"> |
| <xsl:attribute name="smil:type">fade</xsl:attribute> |
| <xsl:attribute name="smil:subtype">crossfade</xsl:attribute> |
| <xsl:attribute name="smil:fadeColor">#000000</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cut through black'"> |
| <xsl:attribute name="smil:type">fade</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fadeOverColor</xsl:attribute> |
| <xsl:attribute name="smil:fadeColor">#000000</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='cut'"> |
| <xsl:attribute name="smil:type">fade</xsl:attribute> |
| <xsl:attribute name="smil:subtype">crossfade</xsl:attribute> |
| <xsl:attribute name="smil:fadeColor">#000000</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='newsflash'"> |
| <xsl:attribute name="smil:type">fanWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">centerTop</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='strips right-down'"> |
| <xsl:attribute name="smil:type">waterfallWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">horizontalLeft</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='strips right-up'"> |
| <xsl:attribute name="smil:type">waterfallWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">horizontalRight</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='strips left-down'"> |
| <xsl:attribute name="smil:type">waterfallWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">horizontalRight</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='strips left-up'"> |
| <xsl:attribute name="smil:type">waterfallWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">horizontalLeft</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='push down'"> |
| <xsl:attribute name="smil:type">pushWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromTop</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='push left'"> |
| <xsl:attribute name="smil:type">pushWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromRight</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='push right'"> |
| <xsl:attribute name="smil:type">pushWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromLeft</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='push up'"> |
| <xsl:attribute name="smil:type">pushWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fromBottom</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='random bars horizontal'"> |
| <xsl:attribute name="smil:type">randomBarWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">horizontal</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='random bars vertical'"> |
| <xsl:attribute name="smil:type">randomBarWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">vertical</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='shape circle'"> |
| <xsl:attribute name="smil:type">ellipseWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">circle</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='shape diamond'"> |
| <xsl:attribute name="smil:type">irisWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">diamond</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='shape plus'"> |
| <xsl:attribute name="smil:type">fourBoxWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">cornersOut</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='split horizontal in'"> |
| <xsl:attribute name="smil:type">barnDoorWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">horizontal</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='split horizontal out'"> |
| <xsl:attribute name="smil:type">barnDoorWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">horizontal</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='split vertical in'"> |
| <xsl:attribute name="smil:type">barnDoorWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">vertical</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='split vertical out'"> |
| <xsl:attribute name="smil:type">barnDoorWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">vertical</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wedge'"> |
| <xsl:attribute name="smil:type">fanWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">centerTop</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wheel clockwise – 1 spoke'"> |
| <xsl:attribute name="smil:type">pinWheelWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">oneBlade</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wheel clockwise – 2 spoke'"> |
| <xsl:attribute name="smil:type">pinWheelWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">twoBladeVertical</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wheel clockwise – 3 spoke'"> |
| <xsl:attribute name="smil:type">pinWheelWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">threeBlade</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wheel clockwise – 4 spoke'"> |
| <xsl:attribute name="smil:type">pinWheelWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">fourBlade</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wheel clockwise – 8 spoke'"> |
| <xsl:attribute name="smil:type">pinWheelWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">eightBlade</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wipe left'"> |
| <xsl:attribute name="smil:type">barWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">leftToRight</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wipe right'"> |
| <xsl:attribute name="smil:type">barWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">leftToRight</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wipe up'"> |
| <xsl:attribute name="smil:type">barWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">topToBottom</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='wipe down'"> |
| <xsl:attribute name="smil:type">barWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">topToBottom</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='blinds vertical'"> |
| <xsl:attribute name="smil:type">blindsWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">vertical</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='blinds horizontal'"> |
| <xsl:attribute name="smil:type">blindsWipe</xsl:attribute> |
| <xsl:attribute name="smil:subtype">horizontal</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='dissolve'"> |
| <xsl:attribute name="smil:type">dissolve</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$effect='random transition'"> |
| <xsl:attribute name="smil:type">random</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:template> |
| <xsl:template match="演:切换_6B1F"> |
| <xsl:element name="anim:par"> |
| <xsl:variable name="animId">id<xsl:number from="/uof:UOF_0000/演:演示文稿文档_6C10/演:幻灯片集_6C0E" level="any" count="演:幻灯片_6C0F" format="1"/> |
| </xsl:variable> |
| <xsl:attribute name="smil:begin"><xsl:value-of select="concat($animId,'.begin')"/></xsl:attribute> |
| <xsl:if test="演:效果_6B20 and 演:效果_6B20 != 'none'"> |
| <xsl:element name="anim:transitionFilter"> |
| <xsl:call-template name="SlideSwitchAtrr"/> |
| </xsl:element> |
| </xsl:if> |
| <xsl:variable name="VoicePath"> |
| <xsl:call-template name="TranslateVoicePath"> |
| <xsl:with-param name="voicetype" select="演:声音_6B22/@预定义声音_C631"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:if test="演:声音_6B22"> |
| <xsl:choose> |
| <xsl:when test="演:声音_6B22/@预定义声音_C631 = 'stop previous sound'"> |
| <anim:command anim:command="stop-audio"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="anim:audio"> |
| <xsl:choose> |
| <xsl:when test="演:声音_6B22/@预定义声音_C631"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="$VoicePath"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="演:声音_6B22/@自定义声音_C632"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="演:声音_6B22/@自定义声音_C632"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="是否循环播放_C633 = 'true'"> |
| <xsl:attribute name="smil:repeatCount">indefinite</xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:element> |
| </xsl:template> |
| <xsl:template match="演:动画_6B1A"> |
| <!-- need to access data outside animation, temporary tree, which doesn't use trigger on it --> |
| <xsl:variable name="isTrigger"> |
| <xsl:for-each select="演:序列_6B1B"> |
| <xsl:if test="演:定时_6B2E/@触发对象引用_6B34"> |
| <xsl:value-of select="1"/> |
| </xsl:if> |
| </xsl:for-each> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="number($isTrigger) > 0"> |
| <xsl:for-each-group select="演:序列_6B1B" group-by="演:定时_6B2E[@触发对象引用_6B34 = ''] or not(演:定时_6B2E[@触发对象引用_6B34]) "> |
| <xsl:choose> |
| <xsl:when test="current-grouping-key()"> |
| <xsl:variable name="noTrigger"> |
| <noTrigger> |
| <xsl:for-each select="current-group()"> |
| <xsl:copy> |
| <xsl:apply-templates select="@*|node()"/> |
| </xsl:copy> |
| </xsl:for-each> |
| </noTrigger> |
| </xsl:variable> |
| <anim:seq presentation:node-type="main-sequence"> |
| <xsl:for-each select="$noTrigger/noTrigger/演:序列_6B1B[1]"> |
| <xsl:variable name="begin1"> |
| <xsl:choose> |
| <xsl:when test="演:定时_6B2E/@事件_6B2F = 'with-previous' or 演:定时_6B2E/@事件_6B2F = 'after-previous'">0s</xsl:when> |
| <xsl:otherwise>next</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="begin2" select="'0s'"/> |
| <xsl:call-template name="OneSequence"> |
| <xsl:with-param name="begin1" select="$begin1"/> |
| <xsl:with-param name="begin2" select="$begin2"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </anim:seq> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:for-each select="current-group()"> |
| <anim:seq presentation:node-type="interactive-sequence"> |
| <anim:par> |
| <xsl:attribute name="smil:begin"><xsl:value-of select="concat(演:定时_6B2E/@触发对象引用_6B34,'.click')"/></xsl:attribute> |
| <anim:par smil:begin="0s"> |
| <xsl:variable name="animNodeName"> |
| <xsl:choose> |
| <xsl:when test="./演:增强_6B35/演:动画文本_6B3A/@发送_6B3B">anim:iterate</xsl:when> |
| <xsl:otherwise>anim:par</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="演:效果_6B40 or 演:定时_6B2E or 演:增强_6B35"> |
| <xsl:element name="{$animNodeName}"> |
| <xsl:attribute name="smil:fill"><xsl:choose><xsl:when test="演:定时_6B2E/@是否回卷_6B33='true'">remove</xsl:when><xsl:otherwise>hold</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="./演:增强_6B35/演:动画播放后_6B36/演:是否播放后隐藏_6B38 = 'true'"> |
| <xsl:attribute name="anim:id">animId<xsl:number from="/uof:UOF_0000/演:演示文稿文档_6C10/演:幻灯片集_6C0E/演:幻灯片_6C0F/演:动画_6B1A" level="any" count="演:序列_6B1B" format="1"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:attribute name="presentation:node-type">on-click</xsl:attribute> |
| <xsl:attribute name="smil:begin"><xsl:choose><xsl:when test="./演:定时_6B2E/@延时_6B30"><xsl:value-of select="concat(substring(演:定时_6B2E/@延时_6B30,3,1),'s')"/></xsl:when><xsl:otherwise>0s</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="演:定时_6B2E/@重复_6B32='until next click' "> |
| <xsl:attribute name="smil:repeatCount">indefinite</xsl:attribute> |
| <xsl:attribute name="smil:end">next</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="演:定时_6B2E/@重复_6B32='until end of slide' "> |
| <xsl:attribute name="smil:repeatCount">indefinite</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="演:定时_6B2E/@重复_6B32 !='none'"> |
| <xsl:attribute name="smil:repeatCount"><xsl:value-of select="演:定时_6B2E/@重复_6B32"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="演:增强_6B35/演:动画文本_6B3A/@发送_6B3B"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| <xsl:attribute name="anim:iterate-type"><xsl:choose><xsl:when test="演:增强_6B35/演:动画文本_6B3A/@发送_6B3B='by word'">by-word</xsl:when><xsl:when test="演:增强_6B35/演:动画文本_6B3A/@发送_6B3B='by letter'">by-letter</xsl:when><xsl:otherwise>all at once</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="anim:iterate-interval"><xsl:choose><xsl:when test="./演:增强_6B35/演:动画文本_6B3A/@演:间隔"><xsl:value-of select="concat(substring(./演:增强_6B35/演:动画文本_6B3A/@间隔_6B3C,3,1),'s')"/></xsl:when><xsl:otherwise>0.05s</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="演:效果_6B40/演:进入_6B41"> |
| <xsl:apply-templates select="演:效果_6B40/演:进入_6B41/*/*[1]" mode="entrance"/> |
| </xsl:when> |
| <xsl:when test="演:效果_6B40/演:退出_6BBE"> |
| <xsl:apply-templates select="演:效果_6B40/演:退出_6BBE/*/*[1]" mode="exit"/> |
| </xsl:when> |
| <xsl:when test="演:效果_6B40/演:强调_6B07"> |
| <xsl:apply-templates select="演:效果_6B40/演:强调_6B07/*/*[1]" mode="emphasis"/> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="演:增强_6B35/演:声音_6B22"> |
| <xsl:variable name="VoicePath"> |
| <xsl:call-template name="TranslateVoicePath"> |
| <xsl:with-param name="voicetype" select="演:增强_6B35/演:声音_6B22/@预定义声音_C631"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="演:增强_6B35/演:声音_6B22/@预定义声音_C631 = 'stop previous sound'"> |
| <anim:command anim:command="stop-audio"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="anim:audio"> |
| <xsl:choose> |
| <xsl:when test="演:增强_6B35/演:声音_6B22/@预定义声音_C631"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="$VoicePath"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="演:增强_6B35/演:声音_6B22/@自定义声音_C632"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="演:增强_6B35/演:声音_6B22/@自定义声音_C632"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="演:增强_6B35/演:声音_6B22/@是否循环播放_C633 = 'true'"> |
| <xsl:attribute name="smil:repeatCount">indefinite</xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:element> |
| <xsl:if test="./演:增强_6B35/演:动画播放后_6B36/演:是否播放后隐藏_6B38 = 'true'"> |
| <anim:set smil:begin="animID" smil:dur="0.001s" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin">animId<xsl:number from="/uof:UOF_0000/演:演示文稿文档_6C10/演:幻灯片集_6C0E/演:幻灯片_6C0F/演:动画_6B1A" level="any" count="演:序列_6B1B" format="1"/>.end</xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:if> |
| </xsl:when> |
| </xsl:choose> |
| </anim:par> |
| </anim:par> |
| <xsl:if test="./演:增强_6B35/演:动画播放后_6B36/演:颜色_6B37"> |
| <anim:par smil:begin="next"> |
| <anim:par smil:begin="0s"> |
| <anim:animateColor smil:begin="0s" smil:dur="0.001s" smil:fill="hold" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise" smil:attributeName="dim"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:choose><xsl:when test="演:增强_6B35/演:动画播放后_6B36/演:颜色_6B37"><xsl:value-of select="演:增强_6B35/演:动画播放后_6B36/演:颜色_6B37"/></xsl:when></xsl:choose></xsl:attribute> |
| </anim:animateColor> |
| </anim:par> |
| </anim:par> |
| </xsl:if> |
| <xsl:if test="./演:增强_6B35/演:动画播放后_6B36/演:是否单击后隐藏_6B39 = 'true'"> |
| <anim:par smil:begin="next"> |
| <anim:par smil:begin="0s"> |
| <anim:set smil:begin="0s" smil:dur="0.001s" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </anim:par> |
| </anim:par> |
| </xsl:if> |
| </anim:seq> |
| </xsl:for-each> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:for-each-group> |
| </xsl:when> |
| <xsl:otherwise> |
| <anim:seq presentation:node-type="main-sequence"> |
| <xsl:for-each select="演:序列_6B1B[1]"> |
| <xsl:variable name="begin1"> |
| <xsl:choose> |
| <xsl:when test="演:定时_6B2E/@事件_6B2F = 'with-previous' or 演:定时_6B2E/@事件_6B2F = 'after-previous'">0s</xsl:when> |
| <xsl:otherwise>next</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="begin2" select="'0s'"/> |
| <xsl:call-template name="OneSequence"> |
| <xsl:with-param name="begin1" select="$begin1"/> |
| <xsl:with-param name="begin2" select="$begin2"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </anim:seq> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="@*|node()"> |
| <xsl:copy> |
| <xsl:apply-templates select="@*|node()"/> |
| </xsl:copy> |
| </xsl:template> |
| <xsl:template name="OneSequence"> |
| <xsl:param name="begin1"/> |
| <xsl:param name="begin2"/> |
| <xsl:if test="$begin1 != 'no'"> |
| <xsl:text disable-output-escaping="yes"><anim:par smil:begin="</xsl:text> |
| <xsl:value-of select="$begin1"/> |
| <xsl:text disable-output-escaping="yes">"></xsl:text> |
| </xsl:if> |
| <xsl:if test="$begin2 != 'no'"> |
| <xsl:text disable-output-escaping="yes"><anim:par smil:begin="</xsl:text> |
| <xsl:value-of select="$begin2"/> |
| <xsl:text disable-output-escaping="yes">"></xsl:text> |
| </xsl:if> |
| <xsl:call-template name="Animation"/> |
| <xsl:variable name="NextEvent" select="following-sibling::*[1]/演:定时_6B2E/@事件_6B2F"/> |
| <xsl:choose> |
| <xsl:when test="$NextEvent = 'with-previous'"> |
| <xsl:for-each select="following-sibling::*[1]"> |
| <xsl:call-template name="OneSequence"> |
| <xsl:with-param name="begin1" select="'no'"/> |
| <xsl:with-param name="begin2" select="'no'"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="$NextEvent = 'after-previous'"> |
| <xsl:text disable-output-escaping="yes"></anim:par></xsl:text> |
| <xsl:for-each select="following-sibling::*[1]"> |
| <xsl:variable name="aDelay"> |
| <xsl:value-of select="substring-after(substring-before(preceding-sibling::*[last()]/演:定时_6B2E/@延时_6B30,'S'),'PT')"/> |
| </xsl:variable> |
| <xsl:variable name="aSpeed"> |
| <xsl:call-template name="aSpeedTranstration"> |
| <xsl:with-param name="speed" select="preceding-sibling::*[last()]/演:效果_6B40//速度_6B44"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:call-template name="OneSequence"> |
| <xsl:with-param name="begin1" select="'no'"/> |
| <xsl:with-param name="begin2" select="concat(number($aDelay)+number($aSpeed),'s')"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="$NextEvent = 'on-click'"> |
| <xsl:text disable-output-escaping="yes"></anim:par></xsl:text> |
| <xsl:text disable-output-escaping="yes"></anim:par></xsl:text> |
| <xsl:for-each select="following-sibling::*[1]"> |
| <xsl:call-template name="OneSequence"> |
| <xsl:with-param name="begin1" select="'next'"/> |
| <xsl:with-param name="begin2" select="'0s'"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:when test="following-sibling::*[1]"> |
| <xsl:text disable-output-escaping="yes"></anim:par></xsl:text> |
| <xsl:text disable-output-escaping="yes"></anim:par></xsl:text> |
| <xsl:for-each select="following-sibling::*[1]"> |
| <xsl:call-template name="OneSequence"> |
| <xsl:with-param name="begin1" select="'next'"/> |
| <xsl:with-param name="begin2" select="'0s'"/> |
| </xsl:call-template> |
| </xsl:for-each> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:text disable-output-escaping="yes"></anim:par></xsl:text> |
| <xsl:text disable-output-escaping="yes"></anim:par></xsl:text> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="Animation"> |
| <xsl:variable name="animNodeName"> |
| <xsl:choose> |
| <xsl:when test="演:增强_6B35/演:动画文本_6B3A/@发送_6B3B">anim:iterate</xsl:when> |
| <xsl:otherwise>anim:par</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="aEvent"> |
| <xsl:choose> |
| <xsl:when test="演:定时_6B2E/@事件_6B2F='on-click'">on-click</xsl:when> |
| <xsl:when test="演:定时_6B2E/@事件_6B2F='after-previous'">after-previous</xsl:when> |
| <xsl:when test="演:定时_6B2E/@事件_6B2F='with-previous'">with-previous</xsl:when> |
| <xsl:otherwise>on-click</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:element name="{$animNodeName}"> |
| <xsl:attribute name="smil:fill"><xsl:choose><xsl:when test="演:定时_6B2E/@是否回卷_6B33='true'">remove</xsl:when><xsl:otherwise>hold</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="演:增强_6B35"> |
| <xsl:attribute name="anim:id"><xsl:value-of select="concat('id',generate-id())"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:attribute name="presentation:node-type"><xsl:value-of select="$aEvent"/></xsl:attribute> |
| <xsl:attribute name="smil:begin"><xsl:choose><xsl:when test="演:定时_6B2E/@延时_6B30"><xsl:value-of select="concat(substring(演:定时_6B2E/@延时_6B30,3,1),'s')"/></xsl:when><xsl:otherwise>0s</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="演:定时_6B2E/@重复_6B32='until next click' "> |
| <xsl:attribute name="smil:repeatCount">indefinite</xsl:attribute> |
| <xsl:attribute name="smil:end">next</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="演:定时_6B2E/@重复_6B32='until end of slide' "> |
| <xsl:attribute name="smil:repeatCount">indefinite</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="演:定时_6B2E/@重复_6B32 !='none'"> |
| <xsl:attribute name="smil:repeatCount"><xsl:value-of select="演:定时_6B2E/@重复_6B32"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="演:增强_6B35/演:动画文本_6B3A/@发送_6B3B"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| <xsl:attribute name="anim:iterate-type"><xsl:choose><xsl:when test="演:增强_6B35/演:动画文本_6B3A/@发送_6B3B='by word'">by-word</xsl:when><xsl:when test="演:增强_6B35/演:动画文本_6B3A/@发送_6B3B='by letter'">by-letter</xsl:when><xsl:otherwise>all at once</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="anim:iterate-interval"><xsl:choose><xsl:when test="演:增强_6B35/演:动画文本_6B3A/@间隔_6B3C"><xsl:value-of select="concat(substring(演:增强_6B35/演:动画文本_6B3A/@间隔_6B3C,3,1),'s')"/></xsl:when><xsl:otherwise>0.05s</xsl:otherwise></xsl:choose></xsl:attribute> |
| </xsl:if> |
| <xsl:choose> |
| <xsl:when test="演:效果_6B40/演:进入_6B41"> |
| <xsl:apply-templates select="演:效果_6B40/演:进入_6B41/*/*[1]" mode="entrance"/> |
| </xsl:when> |
| <xsl:when test="演:效果_6B40/演:退出_6BBE"> |
| <xsl:apply-templates select="演:效果_6B40/演:退出_6BBE/*/*[1]" mode="exit"/> |
| </xsl:when> |
| <xsl:when test="演:效果_6B40/演:强调_6B07"> |
| <xsl:apply-templates select="演:效果_6B40/演:强调_6B07/*/*[1]" mode="emphasis"/> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="演:增强_6B35/演:声音_6B22"> |
| <xsl:variable name="VoicePath"> |
| <xsl:call-template name="TranslateVoicePath"> |
| <xsl:with-param name="voicetype" select="演:增强_6B35/演:声音_6B22/@预定义声音_C631"/> |
| </xsl:call-template> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="演:增强/演:声音/@预定义声音_C631 = 'stop previous sound'"> |
| <anim:command anim:command="stop-audio"/> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:element name="anim:audio"> |
| <xsl:choose> |
| <xsl:when test="演:增强_6B35/演:声音_6B22/@预定义声音_C631"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="$VoicePath"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="演:增强_6B35/演:声音_6B22/@自定义声音_C632"> |
| <xsl:attribute name="xlink:href"><xsl:value-of select="演:增强_6B35/演:声音_6B22/@自定义声音_C632"/></xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:if test="演:增强_6B35/演:声音_6B22/@是否循环播放_C633 = 'true'"> |
| <xsl:attribute name="smil:repeatCount">indefinite</xsl:attribute> |
| </xsl:if> |
| </xsl:element> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:if> |
| </xsl:element> |
| <xsl:choose> |
| <xsl:when test="演:增强_6B35/演:动画播放后_6B36/演:是否播放后隐藏_6B38 = 'true'"> |
| <xsl:call-template name="Hidden"> |
| <xsl:with-param name="begin" select="'no'"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="演:增强_6B35/演:动画播放后_6B36/演:是否单击后隐藏_6B39 = 'true'"> |
| <xsl:call-template name="Hidden"> |
| <xsl:with-param name="begin" select="'next'"/> |
| </xsl:call-template> |
| </xsl:when> |
| <xsl:when test="演:增强_6B35/演:动画播放后_6B36/演:颜色_6B37"> |
| <xsl:call-template name="AnimColor"/> |
| </xsl:when> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="Hidden"> |
| <xsl:param name="begin"/> |
| <anim:set smil:begin="0s" smil:dur="0.001s" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:choose> |
| <xsl:when test="$begin = 'no'"> |
| <xsl:attribute name="smil:begin"><xsl:value-of select="concat('id',generate-id(),'.end')"/></xsl:attribute> |
| </xsl:when> |
| <xsl:when test="$begin = 'next'"> |
| <xsl:attribute name="smil:begin">next</xsl:attribute> |
| </xsl:when> |
| </xsl:choose> |
| <xsl:attribute name="presentation:master-element"><xsl:value-of select="concat('id',generate-id())"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template name="AnimColor"> |
| <anim:animateColor smil:begin="next" smil:dur="0.001s" smil:fill="hold" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise" smil:attributeName="dim"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:if test="演:增强_6B35/演:动画播放后_6B36/演:颜色_6B37"><xsl:value-of select="演:增强_6B35/演:动画播放后_6B36/演:颜色_6B37"/></xsl:if></xsl:attribute> |
| <xsl:attribute name="presentation:master-element"><xsl:value-of select="concat('id',generate-id())"/></xsl:attribute> |
| </anim:animateColor> |
| </xsl:template> |
| <xsl:template name="aSpeedTranstration"> |
| <xsl:param name="speed"/> |
| <xsl:choose> |
| <xsl:when test="$speed='very-fast'">0.5</xsl:when> |
| <xsl:when test="$speed='fast'">1</xsl:when> |
| <xsl:when test="$speed='medium'">2</xsl:when> |
| <xsl:when test="$speed='slow'">3</xsl:when> |
| <xsl:when test="$speed='very-slow'">5</xsl:when> |
| <xsl:otherwise>0.5</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template match="演:出现_6B46" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-appear</xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.001s" smil:fill="hold" anim:sub-item="text" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:盒状_6B47" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-box</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B48"><xsl:value-of select="@方向_6B48"/></xsl:when><xsl:otherwise>in</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.004s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <!-- It's not which kinds of types, graphics or text, to be judged. But it doesn't affect the effect. --> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:set> |
| <anim:transitionFilter smil:type="irisWipe" smil:subtype="rectangle"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:if test="@方向_6B48 = 'in'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:transitionFilter> |
| </xsl:template> |
| <xsl:template match="演:棋盘_6B4E" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-checkerboard</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B50='down'">downward</xsl:when><xsl:when test="@方向_6B50='across'">across</xsl:when><xsl:otherwise>across</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="checkerBoardWipe"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B50='down'">down</xsl:when><xsl:when test="@方向_6B50='across'">across</xsl:when><xsl:otherwise>across</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:transitionFilter> |
| </xsl:template> |
| <xsl:template match="演:圆形扩展_6B56" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-circle</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B48"><xsl:value-of select="@方向_6B48"/></xsl:when><xsl:otherwise>in</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="ellipseWipe" smil:subtype="horizontal"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:if test="@方向_6B48='in'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| </anim:transitionFilter> |
| </xsl:template> |
| <xsl:template match="演:阶梯状_6B49" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-diagonal-squares</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B4A='left down'">left-to-bottom</xsl:when><xsl:when test="@方向_6B4A='left up'">left-to-top</xsl:when><xsl:when test="@方向_6B4A='right down'">right-to-bottom</xsl:when><xsl:when test="@方向_6B4A='right up'">right-to-top</xsl:when><xsl:otherwise>left-to-bottom</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.0005s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="waterfallWipe"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@方向_6B4A='left down'"> |
| <xsl:attribute name="smil:subtype">horizontalRight</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@方向_6B4A='left up'"> |
| <xsl:attribute name="smil:subtype">horizontalLeft</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@方向_6B4A='right up'"> |
| <xsl:attribute name="smil:subtype">horizontalRight</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@方向_6B4A='right down'"> |
| <xsl:attribute name="smil:subtype">horizontalLeft</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="smil:subtype">horizontalRight</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <!--xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向='left down'">horizontalLeft</xsl:when><xsl:when test="@方向='left up'">horizontalLeft</xsl:when><xsl:when test="@方向='right down'">horizontalRight</xsl:when><xsl:when test="@方向='right up'">horizontalRight</xsl:when></xsl:choose></xsl:attribute--> |
| </anim:transitionFilter> |
| </xsl:template> |
| <xsl:template match="演:菱形_6B5D" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-diamond</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B48"><xsl:value-of select="@方向_6B48"/></xsl:when><xsl:otherwise>in</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="irisWipe" smil:subtype="diamond"> |
| <xsl:choose> |
| <xsl:when test="@方向_6B48"> |
| <xsl:if test="@方向_6B48 = 'in'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance dissolve-in, uof1, NeiXiangRongJie(p0098) --> |
| <xsl:template match="演:向内溶解_6B64" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-dissolve-in</xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.0005s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="dissolve" smil:direction="reverse"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance flash-once, uof1, ShanShuoYiCi(p0086) --> |
| <xsl:template match="演:闪烁一次_6B51" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-flash-once</xsl:attribute> |
| <anim:set smil:begin="0s" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_fast"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <!-- ooo:entrance fly-in, uof1, FeiRu(p0091) --> |
| <xsl:template match="演:飞入_6B59" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-fly-in</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B5A= 'from bottom'">from-bottom</xsl:when><xsl:when test="@方向_6B5A = 'from top-right'">from-top-right</xsl:when><xsl:when test="@方向_6B5A = 'from top-left'">from-top-left</xsl:when><xsl:when test="@方向_6B5A = 'from bottom-left'">from-bottom-left</xsl:when><xsl:when test="@方向_6B5A = 'from bottom-right'">from-bottom-right</xsl:when><xsl:when test="@方向_6B5A = 'from right'">from-right</xsl:when><xsl:when test="@方向_6B5A = 'from left'">from-left</xsl:when><xsl:when test="@方向_6B5A = 'from top'">from-top</xsl:when><xsl:otherwise>from-bottom</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <xsl:variable name="smilvalueX"> |
| <xsl:choose> |
| <xsl:when test="contains(@方向_6B5A,'right')">1+width/2;x</xsl:when> |
| <xsl:when test="contains(@方向_6B5A,'left')">0-width/2;x</xsl:when> |
| <xsl:otherwise>x;x</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="smilvalueY"> |
| <xsl:choose> |
| <xsl:when test="@方向_6B5A"> |
| <xsl:choose> |
| <xsl:when test="contains(@方向_6B5A,'bottom')">1+height/2;y</xsl:when> |
| <xsl:when test="contains(@方向_6B5A,'top')">0-height/2;y</xsl:when> |
| <xsl:otherwise>y;y</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>1+height/2;y</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <anim:animate smil:fill="hold" smil:attributeName="x" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:values"><xsl:value-of select="$smilvalueX"/></xsl:attribute> |
| </anim:animate> |
| <anim:animate smil:fill="hold" smil:attributeName="y" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:values"><xsl:value-of select="$smilvalueY"/></xsl:attribute> |
| </anim:animate> |
| </xsl:template> |
| <xsl:template match="演:缓慢进入_6B5B" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-fly-in-slow</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B58= 'from bottom'">from-bottom</xsl:when><xsl:when test="@方向_6B58 = 'from right'">from-right</xsl:when><xsl:when test="@方向_6B58 = 'from left'">from-left</xsl:when><xsl:when test="@方向_6B58 = 'from top'">from-top</xsl:when><xsl:otherwise>from-bottom</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <xsl:variable name="smilvalueX"> |
| <xsl:choose> |
| <xsl:when test="contains(@方向_6B58,'right')">1+width/2;x</xsl:when> |
| <xsl:when test="contains(@方向_6B58,'left')">0-width/2;x</xsl:when> |
| <xsl:otherwise>x;x</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="smilvalueY"> |
| <xsl:choose> |
| <xsl:when test="@方向_6B58"> |
| <xsl:choose> |
| <xsl:when test="contains(@方向_6B58,'bottom')">1+height/2;y</xsl:when> |
| <xsl:when test="contains(@方向_6B58,'top')">0-height/2;y</xsl:when> |
| <xsl:otherwise>y;y</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>1+height/2;y</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <anim:animate smil:fill="hold" smil:attributeName="x" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_veryslow"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:values"><xsl:value-of select="$smilvalueX"/></xsl:attribute> |
| </anim:animate> |
| <anim:animate smil:fill="hold" smil:attributeName="y" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_veryslow"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:values"><xsl:value-of select="$smilvalueY"/></xsl:attribute> |
| </anim:animate> |
| </xsl:template> |
| <!-- ooo:entrance peek-in, uof1, QieRu(p0095) --> |
| <xsl:template match="演:切入_6B60" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-peek-in</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B58= 'from bottom'">from-bottom</xsl:when><xsl:when test="@方向_6B58 = 'from right'">from-right</xsl:when><xsl:when test="@方向_6B58 = 'from left'">from-left</xsl:when><xsl:when test="@方向_6B58 = 'from top'">from-top</xsl:when><xsl:otherwise>from bottom</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.0005s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:set> |
| <anim:transitionFilter smil:type="slideWipe" smil:direction="reverse"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B58= 'from bottom'">fromBottom</xsl:when><xsl:when test="@方向_6B58 = 'from right'">fromRight</xsl:when><xsl:when test="@方向_6B58 = 'from left'">fromLeft</xsl:when><xsl:when test="@方向_6B58 = 'from top'">fromTop</xsl:when></xsl:choose></xsl:attribute> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance plus, uof1, ShiZiXingKuoZhan(p0087) --> |
| <xsl:template match="演:十字形扩展_6B53" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-plus</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B48"><xsl:value-of select="@方向_6B48"/></xsl:when><xsl:otherwise>in</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="fourBoxWipe" smil:subtype="cornersIn"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <!--xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向= 'in'">cornersIn</xsl:when><xsl:when test="@方向 = 'out'">cornersOut</xsl:when></xsl:choose></xsl:attribute--> |
| <xsl:if test="@方向_6B48= 'out'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance random bars, uof1, SuiJiXianTiao(p0097) --> |
| <xsl:template match="演:随机线条_6B62" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-random-bars</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B45"><xsl:value-of select="@方向_6B45"/></xsl:when><xsl:otherwise>horizontal</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.001s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="randomBarWipe" smil:direction="reverse"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B45= 'horizontal'">vertical</xsl:when><xsl:when test="@方向_6B45 = 'vertical'">horizontal</xsl:when><xsl:otherwise>vertical</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance split , uof1, PiLie(p0094) --> |
| <xsl:template match="演:劈裂_6B5E" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-split</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B5F = 'horizontal out'">horizontal-out</xsl:when><xsl:when test="@方向_6B5F= 'horizontal in'">horizontal-in</xsl:when><xsl:when test="@方向_6B5F= 'vertical in'">vertical-in</xsl:when><xsl:when test="@方向_6B5F= 'vertical out'">vertical-out</xsl:when><xsl:otherwise>horizontal-out</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:set> |
| <anim:transitionFilter smil:type="barnDoorWipe"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B5F = 'horizontal out'">horizontal</xsl:when><xsl:when test="@方向_6B5F= 'horizontal in'">horizontal</xsl:when><xsl:when test="@方向_6B5F= 'vertical in'">vertical</xsl:when><xsl:when test="@方向_6B5F= 'vertical out'">vertical</xsl:when></xsl:choose></xsl:attribute> |
| <xsl:if test="@方向_6B5F= 'horizontal in' or @方向_6B5F= 'vertical in'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance venetian-blinds, uof1, BaiYeChuang(p0080) --> |
| <xsl:template match="演:百叶窗_6B43" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-venetian-blinds</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B45= 'horizontal'">horizontal</xsl:when><xsl:when test="@方向_6B45 = 'vertical'">vertical</xsl:when><xsl:otherwise>vertical</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.001s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="blindsWipe" smil:direction="reverse"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B45= 'horizontal'">vertical</xsl:when><xsl:when test="@方向_6B45 = 'vertical'">horizontal</xsl:when><xsl:otherwise>horizontal</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance wedge, uof1, ShanXingZhanKai(p0096) --> |
| <xsl:template match="演:扇形展开_6B61" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-wedge</xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.0015s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="fanWipe" smil:subtype="centerTop"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance wheel, uof1, LunZi(p0084) --> |
| <xsl:template match="演:轮子_6B4B" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-wheel</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@轮辐_6B4D"><xsl:value-of select="@轮辐_6B4D"/></xsl:when><xsl:otherwise>1</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:dur="0.5s" smil:type="pinWheelWipe"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@轮辐_6B4D='1'">oneBlade</xsl:when><xsl:when test="@轮辐_6B4D='2'">twoBladeVertical</xsl:when><xsl:when test="@轮辐_6B4D='3'">threeBlade</xsl:when><xsl:when test="@轮辐_6B4D='4'">fourBlade</xsl:when><xsl:when test="@轮辐_6B4D='8'">eightBlade</xsl:when><xsl:otherwise>oneBlade</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance wipe, uof1, CaChu(p0090) --> |
| <xsl:template match="演:擦除_6B57" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-wipe</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B58 = 'from right'">from-right</xsl:when><xsl:when test="@方向_6B58 = 'from left'">from-left</xsl:when><xsl:when test="@方向_6B58 = 'from top'">from-top</xsl:when><xsl:when test="@方向_6B58 = 'from bottom'">from-bottom</xsl:when><xsl:otherwise>from-left</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:set smil:begin="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:transitionFilter smil:type="barWipe"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="(@方向_6B58 = 'from right') or (@方向_6B58 = 'from left')">leftToRight</xsl:when><xsl:when test="(@方向_6B58 = 'from top') or (@方向_6B58 = 'from bottom')">topToBottom</xsl:when><xsl:otherwise>leftToRight</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:if test="@方向_6B58='from right'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@方向_6B58='from bottom'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- ooo:entrance random, uof1, SuiJiXiaoGuo(p0088) --> |
| <xsl:template match="演:随机效果_6B55" mode="entrance"> |
| <xsl:attribute name="presentation:preset-class">entrance</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-entrance-random</xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.001s" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| <anim:animate smil:dur="1s" smil:fill="hold" smil:attributeName="width" smil:values="0;width" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| </anim:animate> |
| <anim:animate smil:fill="hold" smil:attributeName="height" smil:values="0;height" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| </anim:animate> |
| <anim:animate smil:fill="hold" smil:attributeName="rotate" smil:values="90;0" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| </anim:animate> |
| <anim:transitionFilter smil:type="fade" smil:subtype="crossfade"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| </anim:transitionFilter> |
| </xsl:template> |
| <!-- emphasis animation types , starting --> |
| <!-- Change FillColor , uof1, GengGaiTianChongYanSe(p0124) --> |
| <xsl:template match="演:更改填充颜色_6B9F" mode="emphasis"> |
| <xsl:attribute name="presentation:preset-class">emphasis</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-emphasis-fill-color</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type">2</xsl:attribute> |
| <anim:animateColor smil:fill="hold" smil:attributeName="fill-color" presentation:additive="base" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:value-of select="@颜色_6B95"/></xsl:attribute> |
| </anim:animateColor> |
| <anim:set smil:dur="0.5s" smil:fill="hold" smil:attributeName="fill" smil:to="solid"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <!-- Change FontColor, uof1, GengGaiZiTiYanSe(p0126) --> |
| <xsl:template match="演:更改字体颜色_6BA2" mode="emphasis"> |
| <xsl:attribute name="presentation:preset-class">emphasis</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-emphasis-font-color</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type">2</xsl:attribute> |
| <anim:animateColor smil:fill="hold" anim:sub-item="text" smil:attributeName="color" presentation:additive="base" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:value-of select="@颜色_6B95"/></xsl:attribute> |
| </anim:animateColor> |
| </xsl:template> |
| <!-- Change FontSize( Zoom in ), uof1, GengGaiZiHao(p0125)/SuoFang(p0120) --> |
| <xsl:template match="演:更改字号_6BA0" mode="emphasis"> |
| <xsl:attribute name="presentation:preset-class">emphasis</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-emphasis-font-size</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type">2</xsl:attribute> |
| <anim:animate smil:fill="hold" smil:attributeName="font-size" presentation:additive="base" anim:sub-item="text"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:choose><xsl:when test="@预定义尺寸_6B92='tiny' ">0.25pt</xsl:when><xsl:when test="@预定义尺寸_6B92='smaller' ">0.5pt</xsl:when><xsl:when test="@预定义尺寸_6B92='larger' ">1.5pt</xsl:when><xsl:when test="@预定义尺寸_6B92='huge' ">4pt</xsl:when><xsl:when test="@自定义尺寸_6B93"><xsl:value-of select="concat(@自定义尺寸_6B93 div 100,'pt')"/></xsl:when><xsl:otherwise>1pt</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:animate> |
| </xsl:template> |
| <!-- here is about styles content, no changed --> |
| <xsl:template match="演:更改字形_6B96" mode="emphasis"> |
| <xsl:attribute name="presentation:preset-class">emphasis</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-emphasis-font-style</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type">1</xsl:attribute> |
| <xsl:variable name="FontStyleName"> |
| <xsl:value-of select="@字形_6B97"/> |
| </xsl:variable> |
| <xsl:choose> |
| <xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@名称_4101 = $FontStyleName]/字:字体_4128"> |
| <anim:set anim:sub-item="text" smil:attributeName="font-family"> |
| <xsl:attribute name="smil:dur"><xsl:choose><xsl:when test="@期间_6B98 = 'until-next-click'">until next click</xsl:when><xsl:when test="@期间_6B98 = 'until-end-of-slide'">indefinite</xsl:when><xsl:otherwise><xsl:value-of select="concat(@期间_6B98,'s')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:variable name="fontname" select="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@名称_4101 = $FontStyleName]/字:字体_4128/@中文字体引用_412A"/> |
| <xsl:attribute name="smil:to"><xsl:value-of select="/uof:UOF_0000/式样:式样集_990B/式样:字体集_990C/式样:字体声明_990D[@标识符_9902 = $fontname]/@名称_9903"/></xsl:attribute> |
| </anim:set> |
| </xsl:when> |
| <xsl:otherwise> |
| <anim:set anim:sub-item="text" smil:attributeName="font-style"> |
| <xsl:attribute name="smil:dur"><xsl:choose><xsl:when test="@期间_6B98 = 'until-next-click'">until next click</xsl:when><xsl:when test="@期间_6B98 = 'until-end-of-slide'">indefinite</xsl:when><xsl:otherwise><xsl:value-of select="concat(@期间_6B98,'s')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:choose><xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@名称_4101 = $FontStyleName]/字:是否斜体_4131">italic</xsl:when><xsl:otherwise>normal</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:set> |
| <anim:set anim:sub-item="text" smil:attributeName="font-weight"> |
| <xsl:attribute name="smil:dur"><xsl:choose><xsl:when test="@期间_6B98 = 'until-next-click'">until next click</xsl:when><xsl:when test="@期间_6B98 = 'until-end-of-slide'">indefinite</xsl:when><xsl:otherwise><xsl:value-of select="concat(@期间_6B98,'s')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:choose><xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@名称_4101 = $FontStyleName]/字:是否粗体_4130">bold</xsl:when><xsl:otherwise>normal</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:set> |
| <anim:set anim:sub-item="text" smil:attributeName="text-underline"> |
| <xsl:attribute name="smil:dur"><xsl:choose><xsl:when test="@期间_6B98 = 'until-next-click'">until next click</xsl:when><xsl:when test="@期间_6B98 = 'until-end-of-slide'">indefinite</xsl:when><xsl:otherwise><xsl:value-of select="concat(@期间_6B98,'s')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:choose><xsl:when test="/uof:UOF_0000/式样:式样集_990B/式样:句式样集_990F/式样:句式样_9910[@名称_4101 = $FontStyleName]/字:下划线_4136">solid</xsl:when><xsl:otherwise>none</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:set> |
| </xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <!-- Change LineColor, uof1, GengGaiXianTiaoYanSe(p0121) --> |
| <xsl:template match="演:更改线条颜色_6B94" mode="emphasis"> |
| <xsl:attribute name="presentation:preset-class">emphasis</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-emphasis-line-color</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type">2</xsl:attribute> |
| <anim:animateColor smil:fill="hold" smil:attributeName="stroke-color" presentation:additive="base" anim:color-interpolation="rgb" anim:color-interpolation-direction="clockwise"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:value-of select="@颜色_6B95"/></xsl:attribute> |
| </anim:animateColor> |
| <anim:set smil:dur="0s" smil:fill="hold" anim:sub-item="text" smil:attributeName="stroke" smil:to="solid"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:陀螺旋_6B9B" mode="emphasis"> |
| <xsl:attribute name="presentation:preset-class">emphasis</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-emphasis-spin</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type">2</xsl:attribute> |
| <anim:animateTransform smil:fill="hold" presentation:additive="base" svg:type="rotate"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:by"><xsl:choose><xsl:when test="@是否顺时针方向_6B9C = 'true'"><xsl:choose><xsl:when test="@预定义角度_6B9D='quarter spin'">90</xsl:when><xsl:when test="@预定义角度_6B9D='half spin'">180</xsl:when><xsl:when test="@预定义角度_6B9D='full spin'">360</xsl:when><xsl:when test="@预定义角度_6B9D='two spins'">720</xsl:when><xsl:when test="@自定义角度_6B9E"><xsl:value-of select="@自定义角度_6B9E"/></xsl:when></xsl:choose></xsl:when><xsl:when test="@是否顺时针方向_6B9C = 'false'"><xsl:choose><xsl:when test="@预定义角度_6B9D='quarter spin'">-90</xsl:when><xsl:when test="@预定义角度_6B9D='half spin'">-180</xsl:when><xsl:when test="@预定义角度_6B9D='full spin'">-360</xsl:when><xsl:when test="@预定义角度_6B9D='two spins'">-720</xsl:when><xsl:when test="@自定义角度_6B9E">-<xsl:value-of select="@自定义角度_6B9E"/></xsl:when></xsl:choose></xsl:when></xsl:choose></xsl:attribute> |
| </anim:animateTransform> |
| </xsl:template> |
| <xsl:template match="演:透明_6BA3" mode="emphasis"> |
| <xsl:attribute name="presentation:preset-class">emphasis</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-emphasis-transparency</xsl:attribute> |
| <anim:set anim:sub-item="text" smil:attributeName="opacity"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:choose><xsl:when test="@期间_6BA6 = 'until next click'">until next click</xsl:when><xsl:when test="@期间_6BA6 = 'until end of slide'">indefinite</xsl:when><xsl:otherwise><xsl:value-of select="concat(@期间_6BA6,'s')"/></xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:choose><xsl:when test="@预定义透明度_6BA4='25' ">0.25</xsl:when><xsl:when test="@预定义透明度_6BA4='50' ">0.5</xsl:when><xsl:when test="@预定义透明度_6BA4='75' ">0.75</xsl:when><xsl:when test="@预定义透明度_6BA4='100' ">1</xsl:when><xsl:when test="@自定义透明度_6BA5"><xsl:value-of select="number(@自定义透明度_6BA5) div 100"/></xsl:when><xsl:otherwise>1</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:缩放_6B72" mode="emphasis"> |
| <xsl:attribute name="presentation:preset-class">emphasis</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-emphasis-grow-and-shrink</xsl:attribute> |
| <anim:animateTransform smil:fill="hold" anim:sub-item="text" presentation:additive="base" svg:type="scale"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:to"><xsl:choose><xsl:when test="@预定义尺寸_6B92='tiny'"><xsl:choose><xsl:when test="@方向_6B91 = 'horizontal'">0.25,1</xsl:when><xsl:when test="@方向_6B91 = 'vertical'">1,0.25</xsl:when><xsl:otherwise>0.25,0.25</xsl:otherwise></xsl:choose></xsl:when><xsl:when test="@预定义尺寸_6B92='smaller'"><xsl:choose><xsl:when test="@方向_6B91 = 'horizontal'">0.5,1</xsl:when><xsl:when test="@方向_6B91 = 'vertical'">1,0.5</xsl:when><xsl:otherwise>0.5,0.5</xsl:otherwise></xsl:choose></xsl:when><xsl:when test="@预定义尺寸_6B92='larger'"><xsl:choose><xsl:when test="@方向_6B91 = 'horizontal'">1.5,1</xsl:when><xsl:when test="@方向_6B91 = 'vertical'">1,1.5</xsl:when><xsl:otherwise>1.5,1.5</xsl:otherwise></xsl:choose></xsl:when><xsl:when test="@预定义尺寸_6B92='huge'"><xsl:choose><xsl:when test="@方向_6B91 = 'horizontal'">4,1</xsl:when><xsl:when test="@方向_6B91 = 'vertical'">1,4</xsl:when><xsl:otherwise>4,4</xsl:otherwise></xsl:choose></xsl:when><xsl:when test="@自定义尺寸_6B93"><xsl:choose><xsl:when test="@方向_6B91 = 'horizontal'"><xsl:value-of select="@自定义尺寸_6B93 div 100"/>,1</xsl:when><xsl:when test="@方向 = 'vertical'">1,<xsl:value-of select="@自定义尺寸_6B93 div 100"/></xsl:when><xsl:otherwise><xsl:value-of select="@自定义尺寸_6B93 div 100"/>,<xsl:value-of select="@自定义尺寸_6B93 div 100"/></xsl:otherwise></xsl:choose></xsl:when></xsl:choose></xsl:attribute> |
| </anim:animateTransform> |
| </xsl:template> |
| <!-- emphasis animation types, ending. --> |
| <xsl:template match="演:盒状_6B47" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-box</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B48"><xsl:value-of select="@方向_6B48"/></xsl:when><xsl:otherwise>in</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="irisWipe" smil:subtype="rectangle" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:if test="@方向_6B48 = 'in'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:棋盘_6B4E" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-checkerboard</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B50='down'">downward</xsl:when><xsl:when test="@方向_6B50='across'">across</xsl:when><xsl:otherwise>across</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter anim:sub-item="text" smil:type="checkerBoardWipe" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B50='down'">down</xsl:when><xsl:when test="@方向_6B50='across'">across</xsl:when></xsl:choose></xsl:attribute> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:圆形扩展_6B56" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-circle</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B48"><xsl:value-of select="@方向_6B48"/></xsl:when><xsl:otherwise>in</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="ellipseWipe" smil:subtype="horizontal" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:if test="@方向_6B48 = 'out'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:阶梯状_6B49" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-diagonal-squares</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B4A='left down'">left-to-bottom</xsl:when><xsl:when test="@方向_6B4A='left up'">left-to-top</xsl:when><xsl:when test="@方向_6B4A='right down'">right-to-bottom</xsl:when><xsl:when test="@方向_6B4A='right up'">right-to-top</xsl:when><xsl:otherwise>left-to-bottom</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="waterfallWipe" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:choose> |
| <xsl:when test="@方向_6B4A='left down'"> |
| <xsl:attribute name="smil:subtype">horizontalRight</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@方向_6B4A='left up'"> |
| <xsl:attribute name="smil:subtype">horizontalLeft</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@方向_6B4A='right up'"> |
| <xsl:attribute name="smil:subtype">horizontalRight</xsl:attribute> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:when> |
| <xsl:when test="@方向_6B4A='right down'"> |
| <xsl:attribute name="smil:subtype">horizontalLeft</xsl:attribute> |
| </xsl:when> |
| <xsl:otherwise> |
| <xsl:attribute name="smil:subtype">horizontalRight</xsl:attribute> |
| </xsl:otherwise> |
| </xsl:choose> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:菱形_6B5D" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-diamond</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B48"><xsl:value-of select="@方向_6B48"/></xsl:when><xsl:otherwise>in</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="irisWipe" smil:subtype="diamond" smil:mode="out"> |
| <xsl:if test="@方向_6B48 = 'out'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:消失_6BC7" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-disappear</xsl:attribute> |
| <anim:set smil:begin="0s" smil:dur="0.001s" smil:fill="hold" anim:sub-item="text" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:向外溶解_6BC5" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-dissolve</xsl:attribute> |
| <anim:transitionFilter smil:type="dissolve" smil:direction="reverse" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:transitionFilter> |
| <anim:set smil:dur="0.0005s" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:闪烁一次_6B51" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-flash-once</xsl:attribute> |
| <anim:animate smil:attributeName="visibility" smil:values="hidden;visible" smil:keyTimes="0;0.5" smil:calcMode="discrete"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_fast"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:animate> |
| <anim:set smil:dur="0s" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度_fast"/></xsl:attribute> |
| <xsl:attribute name="smil:fill">hold</xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:飞出_6BBF" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-fly-out</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6BC0= 'to bottom'">from-bottom</xsl:when><xsl:when test="@方向_6BC0 = 'to top-right'">from-top-right</xsl:when><xsl:when test="@方向_6BC0 = 'to top-left'">from-top-left</xsl:when><xsl:when test="@方向_6BC0 = 'to bottom-left'">from-bottom-left</xsl:when><xsl:when test="@方向_6BC0 = 'to bottom-right'">from-bottom-right</xsl:when><xsl:when test="@方向_6BC0 = 'to right'">from-right</xsl:when><xsl:when test="@方向_6BC0 = 'to left'">from-left</xsl:when><xsl:when test="@方向_6BC0 = 'to top'">from-top</xsl:when><xsl:otherwise>from-bottom</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:variable name="smilvalueX"> |
| <xsl:choose> |
| <xsl:when test="contains(@方向_6BC0,'right')">x;1+width/2</xsl:when> |
| <xsl:when test="contains(@方向_6BC0,'left')">x;0-width/2</xsl:when> |
| <xsl:otherwise>x;x</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="smilvalueY"> |
| <xsl:choose> |
| <xsl:when test="@方向_6BC0"> |
| <xsl:choose> |
| <xsl:when test="contains(@方向_6BC0,'bottom')">y;1+height/2</xsl:when> |
| <xsl:when test="contains(@方向_6BC0,'top')">y;0-height/2</xsl:when> |
| <xsl:otherwise>y;y</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>y;1+height/2</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <anim:animate smil:fill="hold" smil:attributeName="x" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:values"><xsl:value-of select="$smilvalueX"/></xsl:attribute> |
| </anim:animate> |
| <anim:animate smil:fill="hold" smil:attributeName="y" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:values"><xsl:value-of select="$smilvalueY"/></xsl:attribute> |
| </anim:animate> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:缓慢移出_6BC1" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-crawl-out</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6BC2= 'to bottom'">from-bottom</xsl:when><xsl:when test="@方向_6BC2 = 'to right'">from-right</xsl:when><xsl:when test="@方向_6BC2 = 'to left'">from-left</xsl:when><xsl:when test="@方向_6BC2 = 'to top'">from-top</xsl:when><xsl:otherwise>from-bottom</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:variable name="smilvalueX"> |
| <xsl:choose> |
| <xsl:when test="contains(@方向_6BC2,'right')">x;1+width/2</xsl:when> |
| <xsl:when test="contains(@方向_6BC2,'left')">x;0-width/2</xsl:when> |
| <xsl:otherwise>x;x</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <xsl:variable name="smilvalueY"> |
| <xsl:choose> |
| <xsl:when test="@方向_6BC2"> |
| <xsl:choose> |
| <xsl:when test="contains(@方向_6BC2,'bottom')">y;1+height/2</xsl:when> |
| <xsl:when test="contains(@方向_6BC2,'top')">y;0-height/2</xsl:when> |
| <xsl:otherwise>y;y</xsl:otherwise> |
| </xsl:choose> |
| </xsl:when> |
| <xsl:otherwise>y;1+height/2</xsl:otherwise> |
| </xsl:choose> |
| </xsl:variable> |
| <anim:animate smil:fill="hold" smil:attributeName="x" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_veryslow"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:values"><xsl:value-of select="$smilvalueX"/></xsl:attribute> |
| </anim:animate> |
| <anim:animate smil:fill="hold" smil:attributeName="y" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_veryslow"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:values"><xsl:value-of select="$smilvalueY"/></xsl:attribute> |
| </anim:animate> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:切出_6BC4" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-peek-out</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6BC2 = 'to bottom'">from-bottom</xsl:when><xsl:when test="@方向_6BC2 = 'to right'">from-right</xsl:when><xsl:when test="@方向_6BC2 = 'to left'">from-left</xsl:when><xsl:when test="@方向_6BC2 = 'to top'">from-top</xsl:when><xsl:otherwise>from-bottom</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="slideWipe" smil:direction="reverse" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向= 'to bottom'">fromBottom</xsl:when><xsl:when test="@方向_6BC2= 'to right'">fromRight</xsl:when><xsl:when test="@方向_6BC2 = 'to left'">fromLeft</xsl:when><xsl:when test="@方向_6BC2 = 'to top'">fromTop</xsl:when></xsl:choose></xsl:attribute> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:transitionFilter> |
| <anim:set smil:dur="0s" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:十字形扩展_6B53" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-plus</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B48"><xsl:value-of select="@方向_6B48"/></xsl:when><xsl:otherwise>in</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="fourBoxWipe" smil:subtype="cornersIn" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:if test="@方向_6B48= 'in'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:随机线条_6B62" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-random-bars</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B45"><xsl:value-of select="@方向_6B45"/></xsl:when><xsl:otherwise>horizontal</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="randomBarWipe" smil:direction="reverse" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B45= 'horizontal'">vertical</xsl:when><xsl:when test="@方向_6B45 = 'vertical'">horizontal</xsl:when><xsl:otherwise>vertical</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:transitionFilter> |
| <anim:set smil:dur="0.001s" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:劈裂_6B5E" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-split</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B5F = 'horizontal out'">horizontal-out</xsl:when><xsl:when test="@方向_6B5F= 'horizontal in'">horizontal-in</xsl:when><xsl:when test="@方向_6B5F= 'vertical in'">vertical-in</xsl:when><xsl:when test="@方向_6B5F= 'vertical out'">vertical-out</xsl:when></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="barnDoorWipe" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B5F = 'horizontal out'">horizontal</xsl:when><xsl:when test="@方向_6B5F= 'horizontal in'">horizontal</xsl:when><xsl:when test="@方向_6B5F= 'vertical in'">vertical</xsl:when><xsl:when test="@方向_6B5F= 'vertical out'">vertical</xsl:when></xsl:choose></xsl:attribute> |
| <xsl:if test="@方向_6B5F= 'horizontal in' or @方向_6B5F= 'vertical in'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:百叶窗_6B43" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-venetian-blinds</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B45= 'horizontal'">horizontal</xsl:when><xsl:when test="@方向_6B45 = 'vertical'">vertical</xsl:when><xsl:otherwise>vertical</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="blindsWipe" smil:direction="reverse" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@方向_6B45= 'horizontal'">vertical</xsl:when><xsl:when test="@方向_6B45 = 'vertical'">horizontal</xsl:when><xsl:otherwise>horizontal</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:扇形展开_6B61" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-wedge</xsl:attribute> |
| <anim:transitionFilter smil:type="fanWipe" smil:subtype="centerTop" smil:mode="out"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| </anim:transitionFilter> |
| <anim:set smil:dur="0.0015s" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:轮子_6B4B" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-wheel</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@轮辐_6B4D"><xsl:value-of select="@轮辐_6B4D"/></xsl:when><xsl:otherwise>1</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:dur="0.5s" smil:type="pinWheelWipe" smil:mode="out"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="@轮辐_6B4D='1'">oneBlade</xsl:when><xsl:when test="@轮辐_6B4D='2'">twoBladeVertical</xsl:when><xsl:when test="@轮辐_6B4D='3'">threeBlade</xsl:when><xsl:when test="@轮辐_6B4D='4'">fourBlade</xsl:when><xsl:when test="@轮辐_6B4D='8'">eightBlade</xsl:when><xsl:otherwise>oneBlade</xsl:otherwise></xsl:choose></xsl:attribute> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度_medium"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:擦除_6B57" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-wipe</xsl:attribute> |
| <xsl:attribute name="presentation:preset-sub-type"><xsl:choose><xsl:when test="@方向_6B58 = 'from right'">from-right</xsl:when><xsl:when test="@方向_6B58 = 'from left'">from-left</xsl:when><xsl:when test="@方向_6B58 = 'from top'">from-top</xsl:when><xsl:when test="@方向_6B58 = 'from bottom'">from-bottom</xsl:when><xsl:otherwise>from-left</xsl:otherwise></xsl:choose></xsl:attribute> |
| <anim:transitionFilter smil:type="barWipe" smil:mode="out"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:subtype"><xsl:choose><xsl:when test="(@方向_6B58 = 'from right') or (@方向_6B58 = 'from left')">leftToRight</xsl:when><xsl:when test="(@方向_6B58 = 'from top') or (@方向_6B58 = 'from bottom')">topToBottom</xsl:when><xsl:otherwise>leftToRight</xsl:otherwise></xsl:choose></xsl:attribute> |
| <xsl:if test="@方向_6B58 = 'from right'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="@方向_6B58 = 'from bottom'"> |
| <xsl:attribute name="smil:direction">reverse</xsl:attribute> |
| </xsl:if> |
| <xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if> |
| </anim:transitionFilter> |
| <anim:set smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| <!--xsl:if test="ancestor::演:序列/@演:段落引用"> |
| <xsl:attribute name="anim:sub-item">text</xsl:attribute> |
| </xsl:if--> |
| </anim:set> |
| </xsl:template> |
| <xsl:template match="演:随机效果_6B55" mode="exit"> |
| <xsl:attribute name="presentation:preset-class">exit</xsl:attribute> |
| <xsl:attribute name="presentation:preset-id">ooo-exit-random</xsl:attribute> |
| <anim:transitionFilter smil:type="fade" smil:subtype="crossfade" smil:mode="out"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:transitionFilter> |
| <anim:animate smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:dur"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:animate> |
| <anim:animate smil:dur="0.1s" smil:decelerate="1" smil:attributeName="y" smil:values="y;y-.03" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:animate> |
| <anim:animate smil:begin="0.1s" smil:dur="0.9s" smil:accelerate="1" smil:attributeName="y" smil:values="y;y+1" smil:keyTimes="0;1" presentation:additive="base"> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:animate> |
| <anim:set smil:dur="0.001s" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"> |
| <xsl:attribute name="smil:begin"><xsl:call-template name="演速度"/></xsl:attribute> |
| <xsl:attribute name="smil:targetElement"><xsl:value-of select="ancestor::演:序列_6B1B/@对象引用_6C28"/></xsl:attribute> |
| </anim:set> |
| </xsl:template> |
| <xsl:template name="演速度"> |
| <xsl:choose> |
| <xsl:when test="./@速度_6B44='very-fast'">0.5s</xsl:when> |
| <xsl:when test="./@速度_6B44='fast'">1s</xsl:when> |
| <xsl:when test="./@速度_6B44='medium'">2s</xsl:when> |
| <xsl:when test="./@速度_6B44='slow'">3s</xsl:when> |
| <xsl:when test="./@速度_6B44='very-slow'">5s</xsl:when> |
| <xsl:otherwise>0.5s</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="演速度_medium"> |
| <xsl:choose> |
| <xsl:when test="./@速度_6B44='very-fast'">0.5s</xsl:when> |
| <xsl:when test="./@速度_6B44='fast'">1s</xsl:when> |
| <xsl:when test="./@速度_6B44='medium'">2s</xsl:when> |
| <xsl:when test="./@速度_6B44='slow'">3s</xsl:when> |
| <xsl:when test="./@速度_6B44='very-slow'">5s</xsl:when> |
| <xsl:otherwise>2s</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="演速度_veryslow"> |
| <xsl:choose> |
| <xsl:when test="./@速度_6B44='very-fast'">0.5s</xsl:when> |
| <xsl:when test="./@速度_6B44='fast'">1s</xsl:when> |
| <xsl:when test="./@速度_6B44='medium'">2s</xsl:when> |
| <xsl:when test="./@速度_6B44='slow'">3s</xsl:when> |
| <xsl:when test="./@速度_6B44='very-slow'">5s</xsl:when> |
| <xsl:otherwise>5s</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| <xsl:template name="演速度_fast"> |
| <xsl:choose> |
| <xsl:when test="./@速度_6B44='very-fast'">0.5s</xsl:when> |
| <xsl:when test="./@速度_6B44='fast'">1s</xsl:when> |
| <xsl:when test="./@速度_6B44='medium'">2s</xsl:when> |
| <xsl:when test="./@速度_6B44='slow'">3s</xsl:when> |
| <xsl:when test="./@速度_6B44='very-slow'">5s</xsl:when> |
| <xsl:otherwise>1s</xsl:otherwise> |
| </xsl:choose> |
| </xsl:template> |
| </xsl:stylesheet> |