Bug 6681: introduce XSLT scripts to remove items and links
authorTomas Cohen Arazi <tomascohen@gmail.com>
Mon, 3 Nov 2014 18:44:36 +0000 (15:44 -0300)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Fri, 14 Nov 2014 12:31:36 +0000 (09:31 -0300)
This patch adds the following sample files:

- Del952.xsl
- Del995.xsl
- Del9LinksExcept952.xsl
- Del9LinksExcept995.xsl

Thay can be used on the new SRU/Z39.50 XSLT processing feature. At the same
time they can be used to solve this bug.

To test:
- Have an SRU/Z39.50 target configured
- Have a search that returns at least a record with the following
  properties:
  * It contains $9 links
  * It contains items (952 or 995 fields in MARC21/NORMARC and UNIMARC respectively).

MARC21/NORMARC test:
- Do a Z39.50/SRU cataloguing search that retrieves the desired record
- Verify it includes $9 and 952 field(s) by clicking on the MARC link
- Edit your Z39.50 target and add Del952.xsl to the "XSLT File(s) for transforming results:" field
- Re-run the search
=> SUCCESS: the MARC view of the imported record doesn't contain the 952 field
- Edit your Z39.50 target and add Del9LinksExcept952.xsl to the "XSLT File(s) for transforming results:" field
- Re-run the search
=> SUCCESS: the MARC view contains the 952 field (including the $9 subfield), and
            all other $9 subfields have been removed
- Edit your Z39.50 target and add
  Del952.xsl, Del9LinksExcept952.xsl
  to the "XSLT File(s) for transforming results:" field (both, comma separated)
- Re-run the search
=> SUCCESS: the MARC view doesn't contain $9 subfields nor items.

- Repeat for UNIMARC, replacing 952 for 995.
- Sign off :-D

Regards
Tomas

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested under MARC21. Works fine. (Additionally verified 995 with xsltproc.)
As noted on Bugzilla, we could still improve documentation but imo no need
to block these example transformations.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>
I can't resist to put my own signature on this patch, confirming it works as
described with z39.50 Unimarc targets.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
koha-tmpl/intranet-tmpl/prog/en/xslt/Del952.xsl [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/xslt/Del995.xsl [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/xslt/Del9LinksExcept952.xsl [new file with mode: 0644]
koha-tmpl/intranet-tmpl/prog/en/xslt/Del9LinksExcept995.xsl [new file with mode: 0644]

diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/Del952.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/Del952.xsl
new file mode 100644 (file)
index 0000000..cb976d3
--- /dev/null
@@ -0,0 +1,17 @@
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:marc="http://www.loc.gov/MARC21/slim"
+  version="1.0">
+
+  <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+  <xsl:strip-space elements="*"/>
+
+  <xsl:template match="marc:datafield[@tag=952]"/>
+
+  <xsl:template match="@* | node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@* | node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/Del995.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/Del995.xsl
new file mode 100644 (file)
index 0000000..33fb7ab
--- /dev/null
@@ -0,0 +1,17 @@
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:marc="http://www.loc.gov/MARC21/slim"
+  version="1.0">
+
+  <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+  <xsl:strip-space elements="*"/>
+
+  <xsl:template match="marc:datafield[@tag=995]"/>
+
+  <xsl:template match="@* | node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@* | node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/Del9LinksExcept952.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/Del9LinksExcept952.xsl
new file mode 100644 (file)
index 0000000..2d650ec
--- /dev/null
@@ -0,0 +1,16 @@
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:marc="http://www.loc.gov/MARC21/slim"
+  version="1.0">
+
+  <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+  <xsl:strip-space elements="*"/>
+
+  <xsl:template match="@* | node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@* | node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template match="marc:datafield[@tag!=952]/marc:subfield[@code=9]"/>
+</xsl:stylesheet>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/Del9LinksExcept995.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/Del9LinksExcept995.xsl
new file mode 100644 (file)
index 0000000..20a0e4c
--- /dev/null
@@ -0,0 +1,16 @@
+<xsl:stylesheet
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:marc="http://www.loc.gov/MARC21/slim"
+  version="1.0">
+
+  <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+  <xsl:strip-space elements="*"/>
+
+  <xsl:template match="@* | node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@* | node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template match="marc:datafield[@tag!=995]/marc:subfield[@code=9]"/>
+</xsl:stylesheet>