home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 June / maximum-cd-2011-06.iso / DiscContents / LibO_3.3.1_Win_x86_install_multi.exe / libreoffice1.cab / ooo2ms_docpr.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2010-12-01  |  7.7 KB  |  138 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3.  
  4.   DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  5.   
  6.   Copyright 2000, 2010 Oracle and/or its affiliates.
  7.  
  8.   OpenOffice.org - a multi-platform office productivity suite
  9.  
  10.   This file is part of OpenOffice.org.
  11.  
  12.   OpenOffice.org is free software: you can redistribute it and/or modify
  13.   it under the terms of the GNU Lesser General Public License version 3
  14.   only, as published by the Free Software Foundation.
  15.  
  16.   OpenOffice.org is distributed in the hope that it will be useful,
  17.   but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.   GNU Lesser General Public License version 3 for more details
  20.   (a copy is included in the LICENSE file that accompanied this code).
  21.  
  22.   You should have received a copy of the GNU Lesser General Public License
  23.   version 3 along with OpenOffice.org.  If not, see
  24.   <http://www.openoffice.org/license.html>
  25.   for a copy of the LGPLv3 License.
  26.  
  27. -->
  28. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 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:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" exclude-result-prefixes="office table style text draw svg   dc config xlink meta oooc dom ooo chart math dr3d form script ooow draw">
  29.     <xsl:template match="office:meta">
  30.         <o:DocumentProperties>
  31.             <o:Title>
  32.                 <xsl:value-of select="dc:title"/>
  33.             </o:Title>
  34.             <o:Subject>
  35.                 <xsl:value-of select="dc:subject"/>
  36.             </o:Subject>
  37.             <o:Keywords>
  38.                 <xsl:for-each select="meta:keywords/meta:keyword">
  39.                     <xsl:value-of select="."/>
  40.                     <xsl:if test="position()!=last()">, </xsl:if>
  41.                 </xsl:for-each>
  42.             </o:Keywords>
  43.             <o:Description>
  44.                 <xsl:value-of select="dc:description"/>
  45.             </o:Description>
  46.             <o:Category>
  47.                 <xsl:value-of select="meta:user-defined[@meta:name = 'Category']"/>
  48.             </o:Category>
  49.             <o:Author>
  50.                 <xsl:value-of select="meta:initial-creator"/>
  51.             </o:Author>
  52.             <o:LastAuthor>
  53.                 <xsl:value-of select="dc:creator"/>
  54.             </o:LastAuthor>
  55.             <o:Manager>
  56.                 <xsl:value-of select="meta:user-defined[@meta:name = 'Manager']"/>
  57.             </o:Manager>
  58.             <o:Company>
  59.                 <xsl:value-of select="meta:user-defined[@meta:name = 'Company']"/>
  60.             </o:Company>
  61.             <o:HyperlinkBase>
  62.                 <xsl:value-of select="meta:user-defined[@meta:name = 'HyperlinkBase']"/>
  63.             </o:HyperlinkBase>
  64.             <o:Revision>
  65.                 <xsl:value-of select="meta:editing-cycles"/>
  66.             </o:Revision>
  67.             <!-- PresentationFormat, Guid, AppName, Version -->
  68.             <o:TotalTime>
  69.                 <xsl:if test="meta:editing-duration">
  70.                     <xsl:variable name="hours">
  71.                         <xsl:choose>
  72.                             <xsl:when test="contains(meta:editing-duration, 'H')">
  73.                                 <xsl:value-of select="substring-before( substring-after( meta:editing-duration, 'PT'), 'H')"/>
  74.                             </xsl:when>
  75.                             <xsl:otherwise>0</xsl:otherwise>
  76.                         </xsl:choose>
  77.                     </xsl:variable>
  78.                     <xsl:variable name="minutes">
  79.                         <xsl:choose>
  80.                             <xsl:when test="contains(meta:editing-duration, 'M') and contains(meta:editing-duration, 'H')">
  81.                                 <xsl:value-of select="substring-before( substring-after( meta:editing-duration, 'H'), 'M')"/>
  82.                             </xsl:when>
  83.                             <xsl:when test="contains(meta:editing-duration, 'M')">
  84.                                 <xsl:value-of select="substring-before( substring-after( meta:editing-duration, 'PT'), 'M')"/>
  85.                             </xsl:when>
  86.                             <xsl:otherwise>0</xsl:otherwise>
  87.                         </xsl:choose>
  88.                     </xsl:variable>
  89.                     <xsl:value-of select="$hours * 60 + $minutes"/>
  90.                 </xsl:if>
  91.             </o:TotalTime>
  92.             <o:LastPrinted>
  93.                 <xsl:if test="meta:print-date">
  94.                     <xsl:value-of select="concat( meta:print-date, 'Z')"/>
  95.                 </xsl:if>
  96.             </o:LastPrinted>
  97.             <o:Created>
  98.                 <xsl:if test="meta:creation-date">
  99.                     <xsl:value-of select="concat( meta:creation-date, 'Z')"/>
  100.                 </xsl:if>
  101.             </o:Created>
  102.             <o:LastSaved>
  103.                 <xsl:if test="dc:date">
  104.                     <xsl:value-of select="concat( dc:date, 'Z')"/>
  105.                 </xsl:if>
  106.             </o:LastSaved>
  107.             <o:Pages>
  108.                 <xsl:value-of select="meta:document-statistic/@meta:page-count"/>
  109.             </o:Pages>
  110.             <o:Words>
  111.                 <xsl:value-of select="meta:document-statistic/@meta:word-count"/>
  112.             </o:Words>
  113.             <o:Characters>
  114.                 <xsl:value-of select="meta:document-statistic/@meta:character-count"/>
  115.             </o:Characters>
  116.             <!-- CharactersWithSpaces, Bytes, Lines -->
  117.             <o:Paragraphs>
  118.                 <xsl:value-of select="meta:document-statistic/@meta:paragraph-count"/>
  119.             </o:Paragraphs>
  120.         </o:DocumentProperties>
  121.         <o:CustomDocumentProperties>
  122.             <o:Editor dt:dt="string">
  123.                 <xsl:value-of select="meta:generator"/>
  124.             </o:Editor>
  125.             <o:Language dt:dt="string">
  126.                 <xsl:value-of select="dc:language"/>
  127.             </o:Language>
  128.             <xsl:for-each select="meta:user-defined">
  129.                 <!-- transfer strings to XML QName, necessary to convert several characters -->
  130.                 <xsl:element name="{concat( 'o:', translate(@meta:name,'.,| ~`!@#$%^&<>*()+=[]{};:"/\?','_'))}">
  131.                     <xsl:attribute name="dt:dt">string</xsl:attribute>
  132.                     <xsl:value-of select="."/>
  133.                 </xsl:element>
  134.             </xsl:for-each>
  135.         </o:CustomDocumentProperties>
  136.     </xsl:template>
  137. </xsl:stylesheet>
  138.