Compare commits
3 Commits
5d1f849dcb
...
f8faf4bbeb
Author | SHA1 | Date | |
---|---|---|---|
f8faf4bbeb | |||
663aca2b9c | |||
a83e1aba50 |
@ -4,9 +4,13 @@
|
|||||||
XSLT transformation of a TMX translation memory exchange file
|
XSLT transformation of a TMX translation memory exchange file
|
||||||
into an Open Document Format spreadsheet in two columns.
|
into an Open Document Format spreadsheet in two columns.
|
||||||
Filter to install as an import filter for LibreOffice Calc. -->
|
Filter to install as an import filter for LibreOffice Calc. -->
|
||||||
<!-- Philippe Tourigny, modified 12-9-2022, version 0.97
|
<!-- Philippe Tourigny, modified 12-9-2022, version 0.95
|
||||||
Allow the filter to retrieve the languages in the TMX from its
|
Allow the filter to retrieve the languages in the TMX from its
|
||||||
first <tu> element, and create a column for each language. -->
|
first <tu> element, and create a column for each language. -->
|
||||||
|
<!-- Philippe Tourigny, modified 3-6-2023, version 0.96
|
||||||
|
Streamline namespaces to only those used in the transformation.
|
||||||
|
Improve formatting for attributes too long to fit on a single line and
|
||||||
|
fix awkward indentation. -->
|
||||||
<!-- Copyright 2013 Dominique Meeùs, and 2022 Philippe Tourigny.
|
<!-- Copyright 2013 Dominique Meeùs, and 2022 Philippe Tourigny.
|
||||||
This program is free software: you can redistribute it and/or modify it
|
This program is free software: you can redistribute it and/or modify it
|
||||||
under the terms of the GNU Lesser General Public License
|
under the terms of the GNU Lesser General Public License
|
||||||
@ -23,42 +27,28 @@
|
|||||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||||
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
|
||||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
|
||||||
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
|
|
||||||
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
|
|
||||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
|
||||||
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
|
|
||||||
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0"
|
|
||||||
xmlns:math="http://www.w3.org/1998/Math/MathML"
|
|
||||||
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
|
||||||
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0"
|
|
||||||
xmlns:ooo="http://openoffice.org/2004/office"
|
|
||||||
xmlns:ooow="http://openoffice.org/2004/writer"
|
|
||||||
xmlns:oooc="http://openoffice.org/2004/calc"
|
|
||||||
xmlns:dom="http://www.w3.org/2001/xml-events"
|
|
||||||
xmlns:xforms="http://www.w3.org/2002/xforms"
|
|
||||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
office:version="1.0">
|
office:version="1.0">
|
||||||
|
|
||||||
<office:automatic-styles>
|
<office:automatic-styles>
|
||||||
<!-- PTable properties -->
|
<!-- PTable properties -->
|
||||||
<style:style style:name="ta1" style:family="table" style:master-page-name="Default">
|
<style:style style:name="ta1" style:family="table"
|
||||||
<style:table-properties table:display="true" style:writing-mode="lr-tb"/>
|
style:master-page-name="Default">
|
||||||
|
<style:table-properties table:display="true"
|
||||||
|
style:writing-mode="lr-tb"/>
|
||||||
</style:style>
|
</style:style>
|
||||||
|
|
||||||
<!-- Column properties (for all languages) -->
|
<!-- Column properties (for all languages) -->
|
||||||
<style:style style:name="co1" style:family="table-column">
|
<style:style style:name="co1" style:family="table-column">
|
||||||
<style:table-column-properties fo:break-before="auto" style:column-width="14.000cm"/>
|
<style:table-column-properties fo:break-before="auto"
|
||||||
|
style:column-width="14.000cm"/>
|
||||||
</style:style>
|
</style:style>
|
||||||
|
|
||||||
<!-- Row properties -->
|
<!-- Row properties -->
|
||||||
<!-- All rows are set to “optimal height” -->
|
<!-- All rows are set to “optimal height” -->
|
||||||
<style:style style:name="ro1" style:family="table-row">
|
<style:style style:name="ro1" style:family="table-row">
|
||||||
<style:table-row-properties fo:break-before="auto" style:use-optimal-row-height="true"/>
|
<style:table-row-properties fo:break-before="auto"
|
||||||
|
style:use-optimal-row-height="true"/>
|
||||||
</style:style>
|
</style:style>
|
||||||
|
|
||||||
<!-- Cell properties -->
|
<!-- Cell properties -->
|
||||||
@ -66,15 +56,17 @@
|
|||||||
The language codes are centered and set in bold
|
The language codes are centered and set in bold
|
||||||
in the first column. -->
|
in the first column. -->
|
||||||
<style:style style:name="heading" style:family="table-cell"
|
<style:style style:name="heading" style:family="table-cell"
|
||||||
style:parent-style-name="Default">
|
style:parent-style-name="Default">
|
||||||
<style:table-cell-properties style:text-align-source="fix"
|
<style:table-cell-properties style:text-align-source="fix"
|
||||||
style:repeat-content="false" fo:wrap-option="wrap"/>
|
style:repeat-content="false"
|
||||||
|
fo:wrap-option="wrap"/>
|
||||||
<style:paragraph-properties fo:text-align="center"/>
|
<style:paragraph-properties fo:text-align="center"/>
|
||||||
<style:text-properties fo:font-weight="bold"/>
|
<style:text-properties fo:font-weight="bold"/>
|
||||||
</style:style>
|
</style:style>
|
||||||
|
|
||||||
<!-- Style for cells with the segment text -->
|
<!-- Style for cells with the segment text -->
|
||||||
<style:style style:name="ce2" style:family="table-cell" style:parent-style-name="Default">
|
<style:style style:name="ce2" style:family="table-cell"
|
||||||
|
style:parent-style-name="Default">
|
||||||
<style:table-cell-properties fo:wrap-option="wrap"/>
|
<style:table-cell-properties fo:wrap-option="wrap"/>
|
||||||
</style:style>
|
</style:style>
|
||||||
</office:automatic-styles>
|
</office:automatic-styles>
|
||||||
@ -93,26 +85,27 @@
|
|||||||
<table:table table:style-name="ta1">
|
<table:table table:style-name="ta1">
|
||||||
<!-- Set the format for a number of columns equal to
|
<!-- Set the format for a number of columns equal to
|
||||||
the number of languages in the imported TMX file -->
|
the number of languages in the imported TMX file -->
|
||||||
<table:table-column table:style-name="co1" table:number-columns-repeated="{$numLangs}"
|
<table:table-column table:style-name="co1"
|
||||||
table:default-cell-style-name="ce2"/>
|
table:number-columns-repeated="{$numLangs}"
|
||||||
|
table:default-cell-style-name="ce2"/>
|
||||||
|
|
||||||
<!-- Fill in the language headers in the first row
|
<!-- Fill in the language headers in the first row
|
||||||
The use of the "local-name()" function enables
|
The use of the "local-name()" function enables
|
||||||
the filter to handle older versions that use the
|
the filter to handle older versions that use the
|
||||||
"lang" attribute as well as recent versions that
|
"lang" attribute as well as recent versions that
|
||||||
use the "xml:lang"` attributes -->
|
use the "xml:lang"` attributes -->
|
||||||
<table:table-row table:style-name="ro1">
|
<table:table-row table:style-name="ro1">
|
||||||
<xsl:for-each select="$firstTU/tuv">
|
<xsl:for-each select="$firstTU/tuv">
|
||||||
<table:table-cell table:style-name="heading">
|
<table:table-cell table:style-name="heading">
|
||||||
<text:p>
|
<text:p>
|
||||||
<xsl:value-of select="@*[local-name()='lang']"/>
|
<xsl:value-of select="@*[local-name()='lang']"/>
|
||||||
</text:p>
|
</text:p>
|
||||||
</table:table-cell>
|
</table:table-cell>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</table:table-row>
|
</table:table-row>
|
||||||
|
|
||||||
<!-- Process the <tu> and <tuv> elements in the TMX file:
|
<!-- Process the <tu> and <tuv> elements in the TMX file:
|
||||||
One row per tu, one column per segment in each <tuv>. -->
|
One row per tu, one column per segment in each <tuv>. -->
|
||||||
<xsl:for-each select="tmx/body/tu">
|
<xsl:for-each select="tmx/body/tu">
|
||||||
<table:table-row table:style-name="ro1">
|
<table:table-row table:style-name="ro1">
|
||||||
<xsl:for-each select="tuv">
|
<xsl:for-each select="tuv">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user