Mode:

Compact lists

Showing:

Documentation
Parameters
Used by
References
Supersedes
Imported modules
Included modules
Imported from
Source
Stylesheet docxtotei.xsl
Documentation

Description

TEI stylesheet for converting Word docx files to TEI

This software is dual-licensed: 1. Distributed under a Creative Commons Attribution-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-sa/3.0/ 2. http://www.opensource.org/licenses/BSD-2-Clause Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holder or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Author: See AUTHORS

Copyright: 2013, TEI Consortium

Imported modules
Included modules
Imported from
Stylesheet version 3.0
Template /
Documentation

Description

The main template that starts the conversion from docx to TEI

IMPORTING STYLESHEETS AND OVERRIDING MATCHED TEMPLATES:

When importing a stylesheet (xsl:import) all the templates in the imported stylesheet get a lower import-precedence than the ones in the importing stylesheet. If the importing stylesheet wants to override, let's say a general template to match all <w:p> elements where no more specialized rule applies it can't, since it will automatically override all w:p[somepredicate] template in the imported stylesheet as well. In this case we have outsourced the processing of the general template into a named template and all the imported stylesheet does is to call the named template. Now, the importing stylesheet can simply override the named template, and everything works out fine.

See templates: - w:p (mode: paragraph)

Modes:

  • pass0: a normalization process for styles. Can also detect illegal styles.
  • pass2: templates that apply in the second stage of the conversion, cleaning TEI elements created in the first ise."
  • inSectionGroup: defines a template that works on a group of consecutive elements (w:p or w:tbl elements) that form a section (a normal section, not to be confused with w:sectPr).
  • paragraph: defines that the template works on an individual element (usually starting with a w:p element).
  • iden: simply copies the content
Namespace No namespace
Match /
Mode #default
References
Variables
Template
Import precedence 7
Source
<xsl:template match="/">
  <!-- Do an initial normalization and store everything in $pass0 -->
  <xsl:if test="not(doc-available($relsFile))">
    <xsl:message terminate="yes">The file
      <xsl:value-of select="$relsFile"/>cannot be read</xsl:message>
  </xsl:if>
  <xsl:if test="not(doc-available($styleDoc))">
    <xsl:message terminate="yes">The file
      <xsl:value-of select="$styleDoc"/>cannot be read</xsl:message>
  </xsl:if>
  <xsl:variable name="pass0">
    <xsl:apply-templates mode="pass0"/>
  </xsl:variable>
  <!-- Do the main transformation and store everything in the variable pass1 -->
  <xsl:variable name="pass1">
    <xsl:for-each select="$pass0">
      <xsl:apply-templates/>
    </xsl:for-each>
  </xsl:variable>
  <!-- This pass simply gets rid of empty <tei:hi>s to avoid unwanted 
       processing in step2. If similar adjustments will become necessary, 
       we suggest to add them to this step. -->
  <xsl:variable name="pass1hi">
    <xsl:for-each select="$pass1">
      <xsl:apply-templates mode="pass1hi"/>
    </xsl:for-each>
  </xsl:variable>
  <!-- Do the final parse and create valid TEI -->
  <xsl:apply-templates select="$pass1hi" mode="pass2"/>
  <xsl:call-template name="fromDocxFinalHook"/>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template *|@*|comment()|processing-instruction()pass1hi
Namespace No namespace
Match *|@*|comment()|processing-instruction()
Mode pass1hi
Import precedence 7
Source
<xsl:template match="*|@*|comment()|processing-instruction()" mode="pass1hi">
  <xsl:copy>
    <xsl:apply-templates select="node()|@*|comment()|processing-instruction()" mode="pass1hi"/>
  </xsl:copy>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template tei:hi[not(string(.)) and not(*)]pass1hi
Namespace No namespace
Match tei:hi[not(string(.)) and not(*)]
Mode pass1hi
Import precedence 7
Source
<xsl:template match="tei:hi[not(string(.)) and not(*)]" mode="pass1hi"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template fromDocxFinalHook
Namespace No namespace
Used by
Template
Import precedence 7
Source
<xsl:template name="fromDocxFinalHook"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template w:document
Documentation

Description

Main document template
Namespace No namespace
Match w:document
Mode #default
References
Import precedence 7
Source
<xsl:template match="w:document">
  <TEI>
    <!-- create teiHeader -->
    <xsl:call-template name="create-tei-header"/>
    <!-- convert main and back matter -->
    <xsl:apply-templates select="w:body"/>
  </TEI>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template w:body
Documentation

Description

Create the basic text; worry later about dividing it up
Namespace No namespace
Match w:body
Mode #default
References
Import precedence 7
Source
<xsl:template match="w:body">
  <text>
    <!-- Create forme work -->
    <xsl:call-template name="extract-forme-work"/>
    <!-- create TEI body -->
    <body>
      <xsl:call-template name="mainProcess"/>
    </body>
  </text>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template mainProcess
Documentation

Description

Process the text by high-level divisions
Namespace No namespace
Used by
Templates
References
Parameters
QName Namespace Tunnel
extracolumn No namespace yes
extrarow No namespace yes
Import precedence 7
Source
<xsl:template name="mainProcess">
  <xsl:param name="extrarow" tunnel="yes"/>
  <xsl:param name="extracolumn" tunnel="yes"/>
  <!-- 
          group all paragraphs that form a first level section.
     -->
  <xsl:for-each-group select="w:sdt|w:p|w:tbl" group-starting-with="w:p[tei:isFirstlevel-heading(.)]">
    <xsl:choose>
      <!-- We are dealing with a first level section, we now have
              to further divide the section into subsections that we can then
              finally work on -->
      <xsl:when test="tei:is-heading(.)">
        <xsl:call-template name="group-by-section"/>
      </xsl:when>
      <xsl:when test="tei:is-front(.)">
        <front>
          <xsl:apply-templates select="." mode="inSectionGroup"/>
        </front>
      </xsl:when>
      <!-- We have found some loose paragraphs. These are most probably
              front matter paragraps. We can simply convert them without further
              trying to split them up into sub sections. -->
      <xsl:otherwise>
        <xsl:apply-templates select="." mode="inSectionGroup"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:for-each-group>
  <!-- I have no idea why I need this, but I apparently do. 
          //TODO: find out what is going on-->
  <xsl:apply-templates select="w:sectPr" mode="paragraph"/>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template w:bookmarkStart|w:bookmarkEndinSectionGroup
Documentation

Description

Bookmarks in section mode

There are certain elements that we don't really care about, but that force us to regroup everything from the next sibling on. @see grouping in construction of headline outline.

Namespace No namespace
Match w:bookmarkStart|w:bookmarkEnd
Mode inSectionGroup
Import precedence 7
Source
<xsl:template match="w:bookmarkStart|w:bookmarkEnd" mode="inSectionGroup">
  <xsl:for-each-group select="current-group() except ." group-adjacent="1">
    <xsl:apply-templates select="." mode="inSectionGroup"/>
  </xsl:for-each-group>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template w:bookmarkStart|w:bookmarkEnd
Documentation

Description

Bookmarks in normal mode

Copy bookmarks for processing in pass 2

Namespace No namespace
Match w:bookmarkStart|w:bookmarkEnd
Mode #default
Import precedence 7
Source
<xsl:template match="w:bookmarkStart|w:bookmarkEnd">
  <xsl:choose>
    <xsl:when test="@w:name='_GoBack'"/>
    <xsl:when test="starts-with(@w:name,'_')">
      <xsl:copy-of select="."/>
    </xsl:when>
    <xsl:when test="self::w:bookmarkEnd"/>
    <xsl:otherwise>
      <ANCHOR>
        <xsl:attribute name="xml:id" select="@w:name"/>
      </ANCHOR>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template w:sdt|w:tbl|w:pinSectionGroup
Documentation

Description

Grouping consecutive elements that belong together

We are now working on a group of all elements inside some group bounded by headings. These need to be further split up into smaller groups for figures, list etc. and into individual groups for simple paragraphs...

Namespace No namespace
Match w:sdt|w:tbl|w:p
Mode inSectionGroup
References
Import precedence 7
Source
<xsl:template match="w:sdt|w:tbl|w:p" mode="inSectionGroup">
  <!-- 
          We are looking for:
          - Lists -> 1
          - Table of Contents -> 2
          - Figures -> 3
          
          Anything else is assigned a number of position()+100. This should be
          sufficient even if we find lots more things to group.
     -->
  <xsl:for-each-group select="current-group()" group-adjacent="if       (tei:is-list(.))    then 1                          else  if (tei:is-toc(.))     then 2                          else  if (tei:is-figure(.))  then 3                          else  if (tei:is-line(.))    then 4                          else  if (tei:is-caption(.)) then 5                          else  if (tei:is-front(.))   then 6                          else                         position() + 100">
    <!-- For each defined grouping call a specific template. If there is no
            grouping defined, apply templates with mode
            paragraph -->
    <xsl:choose>
      <xsl:when test="current-grouping-key()=1">
        <xsl:call-template name="listSection"/>
      </xsl:when>
      <xsl:when test="current-grouping-key()=2">
        <xsl:call-template name="tocSection"/>
      </xsl:when>
      <xsl:when test="current-grouping-key()=3">
        <xsl:call-template name="figureSection"/>
      </xsl:when>
      <xsl:when test="current-grouping-key()=4">
        <xsl:call-template name="lineSection"/>
      </xsl:when>
      <xsl:when test="current-grouping-key()=5">
        <xsl:call-template name="captionSection"/>
      </xsl:when>
      <xsl:when test="current-grouping-key()=6">
        <xsl:call-template name="frontSection"/>
      </xsl:when>
      <!-- it is not a defined grouping .. apply templates -->
      <xsl:otherwise>
        <xsl:apply-templates select="." mode="paragraph"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:for-each-group>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template figureSection
Documentation

Description

Creating a group of a figure
Namespace No namespace
Used by
Import precedence 7
Source
<xsl:template name="figureSection">
  <figure>
    <xsl:for-each select="current-group()">
      <xsl:apply-templates select="." mode="paragraph"/>
    </xsl:for-each>
  </figure>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template captionSection
Documentation

Description

Creating a group of a caption (figure or table)
Namespace No namespace
Used by
Import precedence 7
Source
<xsl:template name="captionSection">
  <CAPTION>
    <xsl:for-each select="current-group()">
      <xsl:apply-templates select="." mode="paragraph"/>
    </xsl:for-each>
  </CAPTION>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template glossListSection
Documentation

Description

Creating a gloss list
Namespace No namespace
Import precedence 7
Source
<xsl:template name="glossListSection">
  <list type="gloss">
    <xsl:for-each select="current-group()">
      <xsl:apply-templates select="." mode="paragraph"/>
    </xsl:for-each>
  </list>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template lineSection
Documentation

Description

Creating a group of a figure
Namespace No namespace
Used by
Import precedence 7
Source
<xsl:template name="lineSection">
  <lg>
    <xsl:for-each select="current-group()">
      <xsl:apply-templates select="." mode="paragraph"/>
    </xsl:for-each>
  </lg>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template frontSection
Documentation

Description

Creating a group of a front/title page
Namespace No namespace
Used by
Import precedence 7
Source
<xsl:template name="frontSection">
  <titlePage>
    <xsl:for-each select="current-group()">
      <xsl:apply-templates select="." mode="paragraph"/>
    </xsl:for-each>
  </titlePage>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template group-by-section
Documentation

Description

Groups the document by headings and thereby creating the document structure.
Namespace No namespace
Used by
References
Import precedence 7
Source
<xsl:template name="group-by-section">
  <xsl:variable name="Style" select="w:pPr/w:pStyle/@w:val"/>
  <xsl:variable name="NextHeader" select="tei:get-nextlevel-header($Style)"/>
  <div>
    <!-- generate the head -->
    <xsl:call-template name="generate-section-heading">
      <xsl:with-param name="Style" select="$Style"/>
    </xsl:call-template>
    <!-- Process sub-sections -->
    <xsl:for-each-group select="current-group() except ." group-starting-with="w:p[w:pPr/w:pStyle/@w:val=$NextHeader]">
      <xsl:choose>
        <xsl:when test="tei:is-heading(.)">
          <xsl:call-template name="group-by-section"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:apply-templates select="." mode="inSectionGroup"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:for-each-group>
  </div>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template extract-forme-work
Documentation

Description

Looks through the document to find forme work related sections.

Creates a <fw> element for each forme work related section. These include running headers and footers. The corresponding elements in OOXML are w:headerReference and w:footerReference. These elements only define a reference that to a header or footer definition file. The reference itself is resolved in the file word/_rels/document.xml.rels.

Namespace No namespace
Used by
Template
References
Variables
Import precedence 7
Source
<xsl:template name="extract-forme-work">
  <xsl:if test="preserveWordHeadersFooters='true'">
    <xsl:for-each-group select="//w:headerReference|//w:footerReference" group-by="@r:id">
      <fw>
        <xsl:attribute name="xml:id">
          <xsl:value-of select="@r:id"/>
        </xsl:attribute>
        <xsl:attribute name="type">
          <xsl:choose>
            <xsl:when test="self::w:headerReference">header</xsl:when>
            <xsl:otherwise>footer</xsl:otherwise>
          </xsl:choose>
        </xsl:attribute>
        <xsl:variable name="rid" select="@r:id"/>
        <xsl:variable name="h-file">
          <xsl:value-of select="document($relsDoc)//rel:Relationship[@Id=$rid]/@Target"/>
        </xsl:variable>
        <!-- for the moment, just copy content -->
        <xsl:if test="doc-available(concat($wordDirectory,'/word/', $h-file))">
          <xsl:for-each-group select="document(concat($wordDirectory,'/word/', $h-file))/*[1]/w:*" group-adjacent="1">
            <xsl:apply-templates select="." mode="inSectionGroup"/>
          </xsl:for-each-group>
        </xsl:if>
      </fw>
    </xsl:for-each-group>
  </xsl:if>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template w:hyperlink
Namespace No namespace
Match w:hyperlink
Mode #default
References
Import precedence 7
Source
Stylesheet location ../../../docx/from/docxtotei.xsl
Template w:instrText
Namespace No namespace
Match w:instrText
Mode #default
Import precedence 7
Source
<xsl:template match="w:instrText"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template create-tei-header
Documentation

Description

simple teiHeader. For a more sophisticated header, think about overriding this template
Namespace No namespace
Used by
Template
References
Import precedence 7
Source
<xsl:template name="create-tei-header">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>
          <xsl:call-template name="getDocTitle"/>
        </title>
        <author>
          <xsl:call-template name="getDocAuthor"/>
        </author>
      </titleStmt>
      <editionStmt>
        <edition>
          <date>
            <xsl:call-template name="getDocDate"/>
          </date>
        </edition>
      </editionStmt>
      <publicationStmt>
        <p>unknown</p>
      </publicationStmt>
      <sourceDesc>
        <p>Converted from a Word document</p>
      </sourceDesc>
    </fileDesc>
    <encodingDesc>
      <xsl:call-template name="generateAppInfo"/>
    </encodingDesc>
    <revisionDesc>
      <listChange>
        <change>
          <date>
            <xsl:value-of select="tei:whatsTheDate()"/>
          </date>
          <name>
            <xsl:call-template name="getDocAuthor"/>
          </name>
        </change>
      </listChange>
    </revisionDesc>
  </teiHeader>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template generate-section-heading
Documentation

Description

generates a section heading. If you need something specific, feel free to overwrite this template
Namespace No namespace
Used by
Template
Parameters
QName Namespace
Style No namespace
Import precedence 7
Source
<xsl:template name="generate-section-heading">
  <xsl:param name="Style"/>
  <head>
    <xsl:apply-templates/>
  </head>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template generateAppInfo
Namespace No namespace
Used by
References
Variable
Import precedence 7
Source
<xsl:template name="generateAppInfo">
  <appInfo>
    <xsl:variable name="version" select="if ( unparsed-text-available('../../VERSION') )                              then unparsed-text('../../VERSION')!normalize-space()                              else 'undetermined'"/>
    <application xml:id="docxtotei" ident="TEI_fromDOCX" version="{$version}">
      <label>DOCX to TEI</label>
    </application>
    <xsl:if test="doc-available($customProps)">
      <xsl:for-each select="doc($customProps)/prop:Properties">
        <xsl:for-each select="prop:property">
          <xsl:choose>
            <xsl:when test="@name='TEI_fromDOCX'"/>
            <xsl:when test="contains(@name,'TEI')">
              <application ident="{@name}" version="{.}">
                <label>
                  <xsl:value-of select="@name"/>
                </label>
              </application>
            </xsl:when>
          </xsl:choose>
        </xsl:for-each>
        <xsl:if test="prop:property[@name='WordTemplateURI']">
          <application ident="WordTemplate" version="{prop:property[@name='WordTemplate']}">
            <label>Word template file</label>
            <ptr target="{prop:property[@name='WordTemplateURI']}"/>
          </application>
        </xsl:if>
      </xsl:for-each>
    </xsl:if>
  </appInfo>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template getDocTitle
Namespace No namespace
Used by
References
Variable
Import precedence 7
Source
<xsl:template name="getDocTitle">
  <xsl:choose>
    <xsl:when test="doc-available($docProps)">
      <xsl:value-of select="doc($docProps)/cp:coreProperties/dc:title"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:text>unknown title</xsl:text>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template getDocAuthor
Namespace No namespace
Used by
References
Variable
Import precedence 7
Source
<xsl:template name="getDocAuthor">
  <xsl:choose>
    <xsl:when test="doc-available($docProps)">
      <xsl:value-of select="doc($docProps)/cp:coreProperties/dc:creator"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:text>unknown author</xsl:text>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template getDocDate
Namespace No namespace
Used by
References
Variable
Import precedence 7
Source
<xsl:template name="getDocDate">
  <xsl:choose>
    <xsl:when test="doc-available($docProps)">
      <xsl:value-of select="substring-before(doc($docProps)/cp:coreProperties/dcterms:created,'T')"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:text>unknown date</xsl:text>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Template identifyChange
Namespace No namespace
Used by
Templates
Parameters
QName Namespace
who No namespace
Import precedence 7
Source
<xsl:template name="identifyChange">
  <xsl:param name="who"/>
  <xsl:attribute name="resp">
    <xsl:text>#</xsl:text>
    <xsl:value-of select="translate($who,' ','_')"/>
  </xsl:attribute>
</xsl:template>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter convertGraphics
Namespace No namespace
Used by
Template
Source
<xsl:param name="convertGraphics">true</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter mathMethod
Namespace No namespace
Used by
Template
Source
<xsl:param name="mathMethod">mml</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter termMethod
Namespace No namespace
Source
<xsl:param name="termMethod">tei</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter tableMethod
Namespace No namespace
Used by
Source
<xsl:param name="tableMethod">tei</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter preserveWordSections
Namespace No namespace
Used by
Template
Source
<xsl:param name="preserveWordSections">false</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter preserveWordHeadersFooters
Namespace No namespace
Source
<xsl:param name="preserveWordHeadersFooters">false</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter preserveSoftPageBreaks
Namespace No namespace
Used by
Source
<xsl:param name="preserveSoftPageBreaks">false</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter preserveEffects
Namespace No namespace
Used by
Source
<xsl:param name="preserveEffects">true</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter preserveFontSizeChanges
Documentation

Description

 was false 
Namespace No namespace
Used by
Template
Source
<xsl:param name="preserveFontSizeChanges">true</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter preserveObject
Documentation

Description

 was false 
Namespace No namespace
Source
<xsl:param name="preserveObject">false</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter preserveSpace
Namespace No namespace
Used by
Source
<xsl:param name="preserveSpace">false</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter verbose
Namespace No namespace
Source
<xsl:param name="verbose">false</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter processChangeInformation
Namespace No namespace
Used by
Templates
Source
<xsl:param name="processChangeInformation">false</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter pageHeight
Namespace No namespace
Source
<xsl:param name="pageHeight">890</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Parameter pageWidth
Namespace No namespace
Source
<xsl:param name="pageWidth">576</xsl:param>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable processor
Namespace No namespace
Source
<xsl:variable name="processor">
  <xsl:value-of select="system-property('xsl:vendor')"/>
</xsl:variable>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable digits
Namespace No namespace
Source
<xsl:variable name="digits">1234567890</xsl:variable>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable characters
Namespace No namespace
Source
<xsl:variable name="characters">~!@#$%^&*()<>{}[]|:;,.?`'"=+-_</xsl:variable>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable wordDirectory
Namespace No namespace
Select translate($word-directory,'\\','/')
Used by
References
Parameter
Supersedes
Parameter
Source
<xsl:variable name="wordDirectory" select="translate($word-directory,'\\','/')"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable customProps
Namespace No namespace
Select concat($wordDirectory,'/docProps/custom.xml')
Used by
Template
References
Variable
Source
<xsl:variable name="customProps" select="concat($wordDirectory,'/docProps/custom.xml')"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable docProps
Namespace No namespace
Select concat($wordDirectory,'/docProps/core.xml')
Used by
References
Variable
Source
<xsl:variable name="docProps" select="concat($wordDirectory,'/docProps/core.xml')"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable numberFile
Namespace No namespace
Select concat($wordDirectory,'/word/numbering.xml')
Used by
Template
References
Variable
Source
<xsl:variable name="numberFile" select="concat($wordDirectory,'/word/numbering.xml')"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable relsDoc
Namespace No namespace
Select concat($wordDirectory,'/word/_rels/document.xml.rels')
Used by
References
Variable
Source
<xsl:variable name="relsDoc" select="concat($wordDirectory,'/word/_rels/document.xml.rels')"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable relsFile
Namespace No namespace
Select concat($wordDirectory,'/word/_rels/document.xml.rels')
Used by
Template
References
Variable
Source
<xsl:variable name="relsFile" select="concat($wordDirectory,'/word/_rels/document.xml.rels')"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Variable styleDoc
Namespace No namespace
Select concat($wordDirectory,'/word/styles.xml')
Used by
References
Variable
Source
<xsl:variable name="styleDoc" select="concat($wordDirectory,'/word/styles.xml')"/>
Stylesheet location ../../../docx/from/docxtotei.xsl
Output (default)
Namespace No namespace
Output properties
method encoding indent
xml UTF-8 no
Source
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
Stylesheet location ../../../docx/from/docxtotei.xsl