New
[irspy-moved-to-github.git] / xsl / irspy2zeerex.xsl
index 79829ea..4c63056 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!--
-    $Id: irspy2zeerex.xsl,v 1.9 2006-11-01 11:18:56 sondberg Exp $
+    $Id: irspy2zeerex.xsl,v 1.12 2006-12-06 12:58:32 mike Exp $
 
     This stylesheet is used by IRSpy to map the internal mixed Zeerex/IRSpy
     record format into the Zeerex record which we store.
@@ -30,7 +30,8 @@
       <xsl:call-template name="insert-zeerexBase"/>
       <xsl:call-template name="insert-indexInfo"/>
       <xsl:call-template name="insert-recordInfo"/>
-      <xsl:apply-templates select="irspy:status"/>
+      <xsl:call-template name="insert-configInfo"/>
+      <xsl:call-template name="insert-irspySection"/>
     </explain>
   </xsl:template>
 
   </xsl:template>
 
 
+  <xsl:template name="insert-configInfo">
+    <configInfo>
+      <xsl:for-each select="/*/irspy:status/irspy:init_opt">
+        <supports type="z3950_{@option}">1</supports>
+      </xsl:for-each>
+    </configInfo>
+  </xsl:template>
+
+
   <!-- 
        Here we list the bits and pieces of the irspy:status element which we
        want to keep in the persistent version of the zeerex record.
-       Simply add "| irspy:xxx" to the match attribute.
+       Simply add "| irspy:xxx" to the select attribute.
   -->
-  <xsl:template match="irspy:status |
-                       irspy:probe  |
-                       irspy:boolean|
-                       irspy:explain">
-    <xsl:copy>
-      <xsl:apply-templates match="@* | node()"/>
-    </xsl:copy>
+  <xsl:template name="insert-irspySection">
+    <irspy:status>
+      <xsl:for-each select="*/irspy:probe   |
+                            */irspy:boolean |
+                            */irspy:named_resultset |
+                            */irspy:explain">
+        <xsl:copy-of select="."/>
+      </xsl:for-each>
+    </irspy:status>
   </xsl:template>