[PATCH 2/3] Move getFieldByIndex template to common templates

Miika Turkia miika.turkia at gmail.com
Mon Jan 26 08:44:38 PST 2015


Signed-off-by: Miika Turkia <miika.turkia at gmail.com>
---
 xslt/commonTemplates.xsl | 62 ++++++++++++++++++++++++++++++++++++++++++++++++
 xslt/manualcsv2xml.xslt  | 61 -----------------------------------------------
 2 files changed, 62 insertions(+), 61 deletions(-)

diff --git a/xslt/commonTemplates.xsl b/xslt/commonTemplates.xsl
index 9900e44..7185ce3 100644
--- a/xslt/commonTemplates.xsl
+++ b/xslt/commonTemplates.xsl
@@ -205,4 +205,66 @@
 
     <xsl:value-of select="concat($year, '-', $month, '-', $day, ' ', $time)"/>
   </xsl:template>
+
+  <xsl:template name="getFieldByIndex">
+    <xsl:param name="index"/>
+    <xsl:param name="line"/>
+    <xsl:param name="remaining"/>
+    <xsl:choose>
+      <xsl:when test="$index > 0">
+        <xsl:choose>
+          <xsl:when test="substring($line, 1, 1) = '"'">
+            <xsl:call-template name="getFieldByIndex">
+              <xsl:with-param name="index" select="$index -1"/>
+              <xsl:with-param name="line" select="substring-after($line, $fs)"/>
+              <xsl:with-param name="remaining" select="$remaining"/>
+            </xsl:call-template>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:call-template name="getFieldByIndex">
+              <xsl:with-param name="index" select="$index -1"/>
+              <xsl:with-param name="line" select="substring-after($line, $fs)"/>
+              <xsl:with-param name="remaining" select="$remaining"/>
+            </xsl:call-template>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:choose>
+          <xsl:when test="substring($line, 1, 1) = '"'">
+            <xsl:choose>
+              <xsl:when test="substring-before(substring-after($line, '"'), '"') != ''">
+                <xsl:value-of select="substring-before(substring-after($line, '"'), '"')"/>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:choose>
+                  <!-- quoted string has new line -->
+                  <xsl:when test="string-length(substring-after($line, '"')) = string-length(translate(substring-after($line, '"'), '"', ''))">
+                    <xsl:value-of select="concat(substring-after($line, '"'), substring-before($remaining, '"'))"/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <xsl:value-of select="''"/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:when>
+
+          <xsl:otherwise>
+            <xsl:choose>
+              <xsl:when test="substring-before($line,$fs) != ''">
+                <xsl:value-of select="substring-before($line,$fs)"/>
+              </xsl:when>
+              <xsl:otherwise>
+                <xsl:if test="substring-after($line, $fs) = ''">
+                  <xsl:value-of select="$line"/>
+                </xsl:if>
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
 </xsl:stylesheet>
diff --git a/xslt/manualcsv2xml.xslt b/xslt/manualcsv2xml.xslt
index f771df5..15eb8f0 100644
--- a/xslt/manualcsv2xml.xslt
+++ b/xslt/manualcsv2xml.xslt
@@ -378,65 +378,4 @@
   </xsl:if>
   </xsl:template>
 
-  <xsl:template name="getFieldByIndex">
-    <xsl:param name="index"/>
-    <xsl:param name="line"/>
-    <xsl:param name="remaining"/>
-    <xsl:choose>
-      <xsl:when test="$index > 0">
-        <xsl:choose>
-          <xsl:when test="substring($line, 1, 1) = '"'">
-            <xsl:call-template name="getFieldByIndex">
-              <xsl:with-param name="index" select="$index -1"/>
-              <xsl:with-param name="line" select="substring-after($line, $fs)"/>
-              <xsl:with-param name="remaining" select="$remaining"/>
-            </xsl:call-template>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:call-template name="getFieldByIndex">
-              <xsl:with-param name="index" select="$index -1"/>
-              <xsl:with-param name="line" select="substring-after($line, $fs)"/>
-              <xsl:with-param name="remaining" select="$remaining"/>
-            </xsl:call-template>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:choose>
-          <xsl:when test="substring($line, 1, 1) = '"'">
-            <xsl:choose>
-              <xsl:when test="substring-before(substring-after($line, '"'), '"') != ''">
-                <xsl:value-of select="substring-before(substring-after($line, '"'), '"')"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:choose>
-                  <!-- quoted string has new line -->
-                  <xsl:when test="string-length(substring-after($line, '"')) = string-length(translate(substring-after($line, '"'), '"', ''))">
-                    <xsl:value-of select="concat(substring-after($line, '"'), substring-before($remaining, '"'))"/>
-                  </xsl:when>
-                  <xsl:otherwise>
-                    <xsl:value-of select="''"/>
-                  </xsl:otherwise>
-                </xsl:choose>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:when>
-
-          <xsl:otherwise>
-            <xsl:choose>
-              <xsl:when test="substring-before($line,$fs) != ''">
-                <xsl:value-of select="substring-before($line,$fs)"/>
-              </xsl:when>
-              <xsl:otherwise>
-                <xsl:if test="substring-after($line, $fs) = ''">
-                  <xsl:value-of select="$line"/>
-                </xsl:if>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:otherwise>
-        </xsl:choose>
-      </xsl:otherwise>
-    </xsl:choose>
-
-  </xsl:template>
 </xsl:stylesheet>
-- 
1.9.1



More information about the subsurface mailing list