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