Showing:

Documentation
Parameters
Used by
References
Imported from
Source
Stylesheet functions.xsl
Documentation

Description

TEI Utility stylesheet for making Word docx files from TEI XML (see docx-tei.xsl)

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Author: See AUTHORS

Id: $Id: functions.xsl 7112 2010-01-19 22:02:39Z rahtz $

Copyright: 2008, TEI Consortium

Imported from
Function teidocx:convert-dim-pt20
Documentation

Description

 import conversion style 
 Converts a dimension into the 20th of a ps point 
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:integer
Parameters
QName Namespace
dim No namespace
Import precedence 9
Source
<xsl:function name="teidocx:convert-dim-pt20" as="xs:integer">
  <xsl:param name="dim"/>
  <xsl:value-of select="number(substring($dim,0,string-length($dim)-1)) * 20"/>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:convert-dim-pt
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:integer
Parameters
QName Namespace
dim No namespace
Import precedence 9
Source
<xsl:function name="teidocx:convert-dim-pt" as="xs:integer">
  <xsl:param name="dim"/>
  <xsl:choose>
    <xsl:when test="ends-with($dim,'cm')">
      <xsl:value-of select="number(number(substring($dim,0,string-length($dim)-1))*28.3464567) cast as xs:integer"/>
    </xsl:when>
    <xsl:when test="ends-with($dim,'in')">
      <xsl:value-of select="number(number(substring($dim,0,string-length($dim)-1))*72) cast as xs:integer"/>
    </xsl:when>
    <xsl:when test="ends-with($dim,'mm')">
      <xsl:value-of select="number(number(substring($dim,0,string-length($dim)-1))*2.83464567) cast as xs:integer"/>
    </xsl:when>
    <xsl:when test="ends-with($dim,'pt')">
      <xsl:value-of select="number(substring($dim,0,string-length($dim)-1)) cast as xs:integer"/>
    </xsl:when>
    <xsl:otherwise>-1</xsl:otherwise>
  </xsl:choose>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:convert-dim-emu
Documentation

Description

 convert a dimension into english metric unit 
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:integer
Parameters
QName Namespace
dim No namespace
Import precedence 9
Source
<xsl:function name="teidocx:convert-dim-emu" as="xs:integer">
  <xsl:param name="dim"/>
  <xsl:variable name="result">
    <xsl:choose>
      <xsl:when test="ends-with($dim,'cm')">
        <xsl:value-of select="number(number(substring($dim,0,string-length($dim)-1))*3600) cast as xs:integer"/>
      </xsl:when>
      <xsl:when test="ends-with($dim,'in')">
        <xsl:value-of select="number(number(substring($dim,0,string-length($dim)-1))*9144) cast as xs:integer"/>
      </xsl:when>
      <xsl:when test="ends-with($dim,'mm')">
        <xsl:value-of select="number(number(substring($dim,0,string-length($dim)-1))*360) cast as xs:integer"/>
      </xsl:when>
      <xsl:when test="ends-with($dim,'pt')">
        <xsl:value-of select="number(number(number(substring($dim,0,string-length($dim)-1)) div 72) * 9144) cast as xs:integer"/>
      </xsl:when>
      <xsl:otherwise>-1</xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:value-of select="$result"/>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:get-listtype
Documentation

Description

 returns a listtype for a given stylename (return empty string to figure it out dynamically) 
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:string
Parameters
QName Namespace
style No namespace
Import precedence 9
Source
<xsl:function name="teidocx:get-listtype" as="xs:string">
  <xsl:param name="style"/>
  <xsl:text/>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:get-headingstyle
Documentation

Description

 returns the correct heading style (return empty string to figure it out dynamically)
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:string
Parameters
QName Namespace
element No namespace
level No namespace
Import precedence 9
Source
<xsl:function name="teidocx:get-headingstyle" as="xs:string">
  <xsl:param name="element"/>
  <xsl:param name="level"/>
  <xsl:text/>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:is-firstlevel-heading
Documentation

Description

 defines whether or not a word paragraph is a first level heading 
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:boolean
Parameters
QName Namespace
p No namespace
Import precedence 9
Source
<xsl:function name="teidocx:is-firstlevel-heading" as="xs:boolean">
  <xsl:param name="p"/>
  <xsl:choose>
    <xsl:when test="$p[w:pPr/w:pStyle/@w:val='heading 1']">true</xsl:when>
    <xsl:otherwise>false</xsl:otherwise>
  </xsl:choose>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:is-heading
Documentation

Description

 defines whether or not a word paragraph is a  heading 
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:boolean
Parameters
QName Namespace
p No namespace
Import precedence 9
Source
<xsl:function name="teidocx:is-heading" as="xs:boolean">
  <xsl:param name="p"/>
  <xsl:choose>
    <xsl:when test="$p[starts-with(w:pPr/w:pStyle/@w:val,'heading')]">true</xsl:when>
    <xsl:otherwise>false</xsl:otherwise>
  </xsl:choose>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:get-nextlevel-header
Documentation

Description

 Is given a header style and returns the style for the next level header 
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:string
Parameters
QName Namespace
current-header No namespace
Import precedence 9
Source
<xsl:function name="teidocx:get-nextlevel-header" as="xs:string">
  <xsl:param name="current-header"/>
  <xsl:value-of select="translate($current-header,'12345678','23456789')"/>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:render-bold
Documentation

Description

 define special rendering for attributes 
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:boolean
Parameters
QName Namespace
element No namespace
Import precedence 9
Source
<xsl:function name="teidocx:render-bold" as="xs:boolean">
  <xsl:param name="element"/>
  <xsl:for-each select="$element">
    <xsl:choose>
      <xsl:when test="parent::tei:hi[starts-with(@rend,'specList-')]">true</xsl:when>
      <xsl:when test="parent::tei:hi[@rend='bold']">true</xsl:when>
      <xsl:when test="contains(@rend,'bold')">true</xsl:when>
      <xsl:when test="@rend='label'">true</xsl:when>
      <xsl:when test="ancestor-or-self::tei:cell[@role='label']">true</xsl:when>
      <xsl:when test="ancestor-or-self::tei:cell[@rend='wovenodd-col1']">true</xsl:when>
      <xsl:when test="self::tei:cell and parent::tei:row[@role='label']">true</xsl:when>
      <xsl:when test="self::tei:hi">true</xsl:when>
      <xsl:when test="self::tei:label[following-sibling::tei:item]">true</xsl:when>
      <xsl:when test="self::tei:term">true</xsl:when>
      <xsl:otherwise>false</xsl:otherwise>
    </xsl:choose>
  </xsl:for-each>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:render-italic
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:boolean
Parameters
QName Namespace
element No namespace
Import precedence 9
Source
<xsl:function name="teidocx:render-italic" as="xs:boolean">
  <xsl:param name="element"/>
  <xsl:for-each select="$element">
    <xsl:choose>
      <xsl:when test="contains(@rend,'italics')">true</xsl:when>
      <xsl:when test="contains(@rend,'italic')">true</xsl:when>
      <xsl:when test="@rend='ital'">true</xsl:when>
      <xsl:when test="@rend='att'">true</xsl:when>
      <xsl:when test="self::tei:att">true</xsl:when>
      <xsl:when test="self::tei:gloss">true</xsl:when>
      <xsl:when test="self::tei:title">true</xsl:when>
      <xsl:when test="self::tei:name">true</xsl:when>
      <xsl:when test="self::tei:soCalled">true</xsl:when>
      <xsl:otherwise>false</xsl:otherwise>
    </xsl:choose>
  </xsl:for-each>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:render-typewriter
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:boolean
Parameters
QName Namespace
element No namespace
Import precedence 9
Source
<xsl:function name="teidocx:render-typewriter" as="xs:boolean">
  <xsl:param name="element"/>
  <xsl:for-each select="$element">
    <xsl:choose>
      <xsl:when test="self::tei:gi">true</xsl:when>
      <xsl:when test="self::tei:val">true</xsl:when>
      <xsl:when test="self::tei:code">true</xsl:when>
      <xsl:when test="self::tei:ident">true</xsl:when>
      <xsl:otherwise>false</xsl:otherwise>
    </xsl:choose>
  </xsl:for-each>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:is-inline
Documentation

Description

 is given an element and defines whether or not this element is to be rendered inline. 
Namespace http://www.tei-c.org/ns/teidocx/1.0
Type xs:boolean
References
Parameters
QName Namespace
element No namespace
Import precedence 9
Source
<xsl:function name="teidocx:is-inline" as="xs:boolean">
  <xsl:param name="element"/>
  <xsl:for-each select="$element">
    <xsl:choose>
      <xsl:when test="self::mml:math">true</xsl:when>
      <xsl:when test="self::tei:abbr">true</xsl:when>
      <xsl:when test="self::tei:affiliation">true</xsl:when>
      <xsl:when test="self::tei:altIdentifier">true</xsl:when>
      <xsl:when test="self::tei:am">true</xsl:when>
      <xsl:when test="self::tei:att">true</xsl:when>
      <xsl:when test="self::tei:author">true</xsl:when>
      <xsl:when test="self::tei:bibl">true</xsl:when>
      <xsl:when test="self::tei:biblScope">true</xsl:when>
      <xsl:when test="self::tei:br">true</xsl:when>
      <xsl:when test="self::tei:c">true</xsl:when>
      <xsl:when test="self::tei:choice">true</xsl:when>
      <xsl:when test="self::tei:code">true</xsl:when>
      <xsl:when test="self::tei:collection">true</xsl:when>
      <xsl:when test="self::tei:country">true</xsl:when>
      <xsl:when test="self::tei:damage">true</xsl:when>
      <xsl:when test="self::tei:date">true</xsl:when>
      <xsl:when test="self::tei:depth">true</xsl:when>
      <xsl:when test="self::tei:dim">true</xsl:when>
      <xsl:when test="self::tei:dimensions">true</xsl:when>
      <xsl:when test="self::tei:editionStmt">true</xsl:when>
      <xsl:when test="self::tei:emph">true</xsl:when>
      <xsl:when test="self::tei:ex">true</xsl:when>
      <xsl:when test="self::tei:expan">true</xsl:when>
      <xsl:when test="self::tei:foreign">true</xsl:when>
      <xsl:when test="self::tei:forename">true</xsl:when>
      <xsl:when test="self::tei:gap">true</xsl:when>
      <xsl:when test="self::tei:genName">true</xsl:when>
      <xsl:when test="self::tei:geogName">true</xsl:when>
      <xsl:when test="self::tei:gi">true</xsl:when>
      <xsl:when test="self::tei:gloss">true</xsl:when>
      <xsl:when test="self::tei:graphic">true</xsl:when>
      <xsl:when test="self::tei:height">true</xsl:when>
      <xsl:when test="self::tei:hi[not(w:*)]">true</xsl:when>
      <xsl:when test="self::tei:ident">true</xsl:when>
      <xsl:when test="self::tei:idno">true</xsl:when>
      <xsl:when test="self::tei:institution">true</xsl:when>
      <xsl:when test="self::tei:lb">true</xsl:when>
      <xsl:when test="self::tei:locus">true</xsl:when>
      <xsl:when test="self::tei:mentioned">true</xsl:when>
      <xsl:when test="self::tei:msName">true</xsl:when>
      <xsl:when test="self::tei:name">true</xsl:when>
      <xsl:when test="self::tei:note[@place='bottom']">true</xsl:when>
      <xsl:when test="self::tei:note[@place='comment']">true</xsl:when>
      <xsl:when test="self::tei:note[@place='end']">true</xsl:when>
      <xsl:when test="self::tei:note[@place='foot']">true</xsl:when>
      <xsl:when test="self::tei:num">true</xsl:when>
      <xsl:when test="self::tei:orgName">true</xsl:when>
      <xsl:when test="self::tei:orig">true</xsl:when>
      <xsl:when test="self::tei:origDate">true</xsl:when>
      <xsl:when test="self::tei:origPlace">true</xsl:when>
      <xsl:when test="self::tei:origPlace">true</xsl:when>
      <xsl:when test="self::tei:pb">true</xsl:when>
      <xsl:when test="self::tei:persName">true</xsl:when>
      <xsl:when test="self::tei:placeName">true</xsl:when>
      <xsl:when test="self::tei:ptr">true</xsl:when>
      <xsl:when test="self::tei:publisher">true</xsl:when>
      <xsl:when test="self::tei:q">true</xsl:when>
      <xsl:when test="self::tei:ref">true</xsl:when>
      <xsl:when test="self::tei:region">true</xsl:when>
      <xsl:when test="self::tei:repository">true</xsl:when>
      <xsl:when test="self::tei:roleName">true</xsl:when>
      <xsl:when test="self::tei:rubric">true</xsl:when>
      <xsl:when test="self::tei:seg">true</xsl:when>
      <xsl:when test="self::tei:settlement">true</xsl:when>
      <xsl:when test="self::tei:soCalled">true</xsl:when>
      <xsl:when test="self::tei:summary">true</xsl:when>
      <xsl:when test="self::tei:supplied">true</xsl:when>
      <xsl:when test="self::tei:surname">true</xsl:when>
      <xsl:when test="self::tei:textLang">true</xsl:when>
      <xsl:when test="self::tei:title">true</xsl:when>
      <xsl:when test="self::tei:val">true</xsl:when>
      <xsl:when test="self::tei:width">true</xsl:when>
      <xsl:when test="self::teidocx:dynamicContent">true</xsl:when>
      <xsl:when test="self::w:drawing">true</xsl:when>
      <xsl:when test="self::m:oMath">true</xsl:when>
      <xsl:otherwise>
        <xsl:choose>
          <xsl:when test="empty($element/..)">false</xsl:when>
          <xsl:when test="teidocx:is-inline($element/..)">true</xsl:when>
          <xsl:otherwise>false</xsl:otherwise>
        </xsl:choose>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:for-each>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl
Function teidocx:whatsTheDate
Documentation

Description

Returns the current date.
Namespace http://www.tei-c.org/ns/teidocx/1.0
Used by
Import precedence 9
Source
<xsl:function name="teidocx:whatsTheDate">
  <xsl:value-of select="format-dateTime(current-dateTime(),'[Y]-[M02]-[D02]T[H02]:[M02]:[s02]Z')"/>
</xsl:function>
Stylesheet location ../../../docx/utils/functions.xsl