ms2ooo_docpr.xsl 5.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--***********************************************************
  3. *
  4. * Licensed to the Apache Software Foundation (ASF) under one
  5. * or more contributor license agreements. See the NOTICE file
  6. * distributed with this work for additional information
  7. * regarding copyright ownership. The ASF licenses this file
  8. * to you under the Apache License, Version 2.0 (the
  9. * "License"); you may not use this file except in compliance
  10. * with the License. You may obtain a copy of the License at
  11. *
  12. * http://www.apache.org/licenses/LICENSE-2.0
  13. *
  14. * Unless required by applicable law or agreed to in writing,
  15. * software distributed under the License is distributed on an
  16. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  17. * KIND, either express or implied. See the License for the
  18. * specific language governing permissions and limitations
  19. * under the License.
  20. *
  21. ***********************************************************-->
  22. <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: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:draw="urn:oasis:names:tc:opendocument:xmlns:drawing: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: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="w wx aml o dt fo v">
  23. <xsl:template match="o:DocumentProperties">
  24. <office:meta>
  25. <meta:generator>Microsoft Word 2003</meta:generator>
  26. <dc:title>
  27. <xsl:value-of select="o:Title"/>
  28. </dc:title>
  29. <dc:description>
  30. <xsl:value-of select="o:Description"/>
  31. </dc:description>
  32. <dc:subject>
  33. <xsl:value-of select="o:Subject"/>
  34. </dc:subject>
  35. <meta:initial-creator>
  36. <xsl:value-of select="o:Author"/>
  37. </meta:initial-creator>
  38. <meta:creation-date>
  39. <xsl:value-of select="substring-before( o:Created, 'Z')"/>
  40. </meta:creation-date>
  41. <dc:creator>
  42. <xsl:value-of select="o:LastAuthor"/>
  43. </dc:creator>
  44. <xsl:if test="string-length(substring-before( o:LastSaved, 'Z')) &gt; 0">
  45. <dc:date>
  46. <xsl:value-of select="substring-before( o:LastSaved, 'Z')"/>
  47. </dc:date>
  48. </xsl:if>
  49. <!-- comment out the below line now because Oasis format doesn't allow the meta:print-by to be empty element -->
  50. <!--meta:printed-by /-->
  51. <xsl:if test="string-length(substring-before( o:LastPrinted, 'Z')) &gt; 0">
  52. <!--
  53. <meta:print-date>
  54. <xsl:value-of select="substring-before( o:LastPrinted, 'Z')"/>
  55. </meta:print-date>
  56. -->
  57. </xsl:if>
  58. <meta:keyword>
  59. <xsl:value-of select="o:Keywords"/>
  60. </meta:keyword>
  61. <meta:editing-cycles>
  62. <xsl:value-of select="o:Revision"/>
  63. </meta:editing-cycles>
  64. <meta:editing-duration>
  65. <xsl:if test="o:TotalTime">
  66. <xsl:value-of select="concat('PT', floor(o:TotalTime div 60), 'H', o:TotalTime mod 60, 'M0S')"/>
  67. </xsl:if>
  68. </meta:editing-duration>
  69. <meta:user-defined meta:name="Category" meta:value-type="string">
  70. <xsl:value-of select="o:Category"/>
  71. </meta:user-defined>
  72. <meta:user-defined meta:name="Manager" meta:value-type="string">
  73. <xsl:value-of select="o:Manager"/>
  74. </meta:user-defined>
  75. <meta:user-defined meta:name="Company" meta:value-type="string">
  76. <xsl:value-of select="o:Company"/>
  77. </meta:user-defined>
  78. <meta:user-defined meta:name="Version" meta:value-type="string">
  79. <xsl:value-of select="o:Version"/>
  80. </meta:user-defined>
  81. <meta:user-defined meta:name="HyperlinkBase" meta:value-type="string">
  82. <xsl:value-of select="o:HyperlinkBase"/>
  83. </meta:user-defined>
  84. <xsl:apply-templates select="../o:CustomDocumentProperties"/>
  85. <meta:document-statistic meta:page-count="{o:Pages}" meta:paragraph-count="{o:Paragraphs}" meta:word-count="{o:Words}" meta:character-count="{o:Characters}"/>
  86. </office:meta>
  87. </xsl:template>
  88. <xsl:template match="o:CustomDocumentProperties">
  89. <xsl:for-each select="node()[@dt:dt]">
  90. <meta:user-defined meta:name="{local-name()}" meta:value-type="{@dt:dt}">
  91. <xsl:value-of select="."/>
  92. </meta:user-defined>
  93. </xsl:for-each>
  94. </xsl:template>
  95. </xsl:stylesheet>