incubator-odf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From svanteschub...@apache.org
Subject svn commit: r1727654 [3/3] - in /incubator/odf/trunk: simple/src/test/resources/ xslt-runner/nbproject/ xslt-runner/sample_xslt/
Date Fri, 29 Jan 2016 22:19:14 GMT
Modified: incubator/odf/trunk/xslt-runner/nbproject/genfiles.properties
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/xslt-runner/nbproject/genfiles.properties?rev=1727654&r1=1727653&r2=1727654&view=diff
==============================================================================
--- incubator/odf/trunk/xslt-runner/nbproject/genfiles.properties (original)
+++ incubator/odf/trunk/xslt-runner/nbproject/genfiles.properties Fri Jan 29 22:19:14 2016
@@ -1,8 +1,8 @@
-build.xml.data.CRC32=21dfc495
-build.xml.script.CRC32=d2952f00
-build.xml.stylesheet.CRC32=be360661
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files
for you.
-nbproject/build-impl.xml.data.CRC32=c189be0b
-nbproject/build-impl.xml.script.CRC32=19b80129
-nbproject/build-impl.xml.stylesheet.CRC32=229523de@1.38.3.45
+build.xml.data.CRC32=21dfc495
+build.xml.script.CRC32=d2952f00
+build.xml.stylesheet.CRC32=be360661
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files
for you.
+nbproject/build-impl.xml.data.CRC32=c189be0b
+nbproject/build-impl.xml.script.CRC32=4f962673
+nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48

Added: incubator/odf/trunk/xslt-runner/sample_xslt/getAttributeDefaults.xsl
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/xslt-runner/sample_xslt/getAttributeDefaults.xsl?rev=1727654&view=auto
==============================================================================
--- incubator/odf/trunk/xslt-runner/sample_xslt/getAttributeDefaults.xsl (added)
+++ incubator/odf/trunk/xslt-runner/sample_xslt/getAttributeDefaults.xsl Fri Jan 29 22:19:14
2016
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
+
+  Copyright 2000, 2010 Oracle and/or its affiliates.
+  Copyright 2009 IBM. All rights reserved.
+
+  Use is subject to license terms.
+
+  Licensed under the Apache License, Version 2.0 (the "License"); you may not
+  use this file except in compliance with the License. You may obtain a copy
+  of the License at http://www.apache.org/licenses/LICENSE-2.0. You can also
+  obtain a copy of the License at http://odftoolkit.org/docs/license.txt
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0"
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d: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:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML"
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0"
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office"
xmlns:oooc="http://openoffice.org/2004/calc" xmlns:ooow="http://openoffice.org/2004/writer"
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:s
 tyle="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xt="http://www.jclark.com/xt"
xmlns:common="http://exslt.org/common" xmlns:xalan="http://xml.apache.org/xalan" exclude-result-prefixes="chart
config dc dom dr3d draw fo form math meta number office ooo oooc ooow script style svg table
text xforms xlink xsd xsi xt common xalan" xmlns="http://www.w3.org/1999/xhtml">
+<!-- Extracting default values from the ODF 1.2 part1 specification 
+		Version 1.2.1 by Svante.Schubert@ gmail.com  -->
+    <xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="no" />
+    
+	<!-- ********************************************************** -->
+	<!-- *** Get the default attribute values for ODF elements  *** -->
+	<!-- ********************************************************** -->
+    <xsl:template match="/">
+        <config 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: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://open
 office.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"
xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2"
xmlns:rdfa="http://docs.oasis-open.org/opendocument/meta/rdfa#" office:version="1.2">
+            <attributes>
+                <xsl:apply-templates />
+            </attributes>
+        </config>
+    </xsl:template>
+
+    <!-- for every stylable text element with the indicator of a default value (ie. the
style 'Default_20_Value')...  -->
+    <xsl:template match="*[@text:style-name='Default_20_Value']">
+        <xsl:call-template name="get-default-value-declaration">
+            <xsl:with-param name="attributeName">
+                <!-- the attribute name is being gathered, by traversing backwards in
the document to the previous attribute declaration (found in a heading) -->
+                <xsl:apply-templates select="preceding::text:h[1]" mode="get-attribute-name"/>
+            </xsl:with-param>
+        </xsl:call-template>
+
+    </xsl:template>
+
+
+        <!-- starting from an attribute description where defaults exist..  -->
+    <xsl:template match="text:h" mode="get-attribute-name">
+        <!-- Within the header is a reference token, which gives clues about the default
value's attribute for instance: 
+            <text:reference-mark-start text:name="attribute-table:number-columns-repeated_element-table:table-cell"/>
           
+        -->
+        <xsl:variable name="referenceToken" select="text:reference-mark-start/@text:name[contains(.,'attribute-')]"/>
+        <xsl:choose>
+            <xsl:when test="contains($referenceToken, '_element')">
+                <!-- the name of the attribute -->
+                <xsl:value-of select="substring-after(substring-before($referenceToken,
'_element'), 'attribute-')"/>
+            </xsl:when>
+            <xsl:otherwise>
+                <!-- the name of the attribute -->
+                <xsl:value-of select="substring-after($referenceToken, 'attribute-')"/>
+            </xsl:otherwise>
+        </xsl:choose>        
+    </xsl:template>
+
+    <xsl:template name="get-default-value-declaration">
+        <xsl:param name="attributeName" />
+
+        <xsl:variable name="defaultValue">
+                <!-- get the default Value (ie. the styleable text element with the style
'Attribute_20_Value')  -->
+            <xsl:variable name="defaultValueElement" select="*[@text:style-name='Attribute_20_Value'
or @text:style-name='Attribute_20_Value_20_Instance']"/>
+            <xsl:choose>
+                <xsl:when test="normalize-space($defaultValueElement) != ''">
+                    <xsl:value-of select="normalize-space($defaultValueElement)"/>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="$defaultValueElement"/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+        <xsl:if test="*[@text:style-name='Attribute_20_Value_20_Instance']">
+            <xsl:comment>The following attribute default value is listed in the ODF
schema</xsl:comment><xsl:text>            
+      </xsl:text>
+        </xsl:if>
+        <xsl:choose>
+            <xsl:when test="*[@text:style-name='Element']">
+                <!-- sometimes a default values only occurs on a certain element or elements
-->
+                <xsl:for-each select="*[@text:style-name='Element']">
+                    <!-- use the element name without the brackets -->
+                     <xsl:variable name="elementName">
+						<xsl:call-template name="get-element-name">
+							<xsl:with-param name="nameString" select="normalize-space(.)"/>
+						</xsl:call-template>
+					</xsl:variable>
+					<xsl:if test="$elementName != ''">
+						<xsl:element name="attribute">
+							<xsl:attribute name="name">
+								<xsl:value-of select="$attributeName"/>
+							</xsl:attribute>
+							<xsl:attribute name="defaultValue">
+								<xsl:value-of select="$defaultValue"/>
+							</xsl:attribute>                        
+							<xsl:attribute name="element">
+								<xsl:value-of select="$elementName"/>
+							</xsl:attribute>
+						</xsl:element>
+                    </xsl:if>
+                </xsl:for-each>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:element name="attribute">
+                    <!-- if the default value occurs for all elements -->
+                    <xsl:attribute name="name">
+                        <xsl:value-of select="$attributeName"/>
+                    </xsl:attribute>
+                    <xsl:attribute name="defaultValue">
+                        <xsl:value-of select="$defaultValue"/>
+                    </xsl:attribute>
+                </xsl:element>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+    
+    <xsl:template name="get-element-name">
+		<xsl:param name="nameString"/>
+        <xsl:choose>
+            <xsl:when test="contains($nameString, '&lt;') and contains($nameString,
'&gt;')">
+                <!-- the name of the element -->
+                 <xsl:value-of select='substring-after(substring-before($nameString, "&gt;"),
"&lt;")'/>   
+            </xsl:when>
+            <xsl:when test="not(contains($nameString, '&lt;'))">
+                <!-- Ignore as it is just an ending part already addressed -->
+            </xsl:when>            
+            <xsl:otherwise>
+                <!-- the name of the element was separated into several text:span -->
+				<xsl:call-template name="get-element-name">
+					<xsl:with-param name="nameString" select="concat($nameString, normalize-space(following-sibling::text:span))"/>
+				</xsl:call-template>
+            </xsl:otherwise>
+        </xsl:choose>  		
+		
+	</xsl:template>
+                            
+
+    <xsl:template match="@*|comment()|text()"/>
+
+    <xsl:template match="*">
+        <xsl:apply-templates />
+    </xsl:template>
+
+</xsl:stylesheet>



Mime
View raw message