From eb85ebcaed19bcdac32265000580fba36edc762c Mon Sep 17 00:00:00 2001 From: David Maus <maus@hab.de> Date: Tue, 29 May 2018 11:28:50 +0200 Subject: [PATCH] Verwende Unterverzeichnis /record --- .../proxy/opac-de-23/{ => record}/.htaccess | 4 ++-- .../proxy/opac-de-23/{ => record}/index.php | 18 +++++++++--------- src/xslt/mods2rdf.xsl | 2 +- src/xslt/pica/auth.xsl | 6 +++--- src/xslt/pica/mods.xsl | 2 +- src/xslt/prune.xsl | 8 ++++++++ 6 files changed, 24 insertions(+), 16 deletions(-) rename public/instance/proxy/opac-de-23/{ => record}/.htaccess (52%) rename public/instance/proxy/opac-de-23/{ => record}/index.php (90%) create mode 100644 src/xslt/prune.xsl diff --git a/public/instance/proxy/opac-de-23/.htaccess b/public/instance/proxy/opac-de-23/record/.htaccess similarity index 52% rename from public/instance/proxy/opac-de-23/.htaccess rename to public/instance/proxy/opac-de-23/record/.htaccess index 62da46e6b..600be62ba 100644 --- a/public/instance/proxy/opac-de-23/.htaccess +++ b/public/instance/proxy/opac-de-23/record/.htaccess @@ -1,4 +1,4 @@ RewriteEngine On -RewriteBase /instance/proxy/opac-de-23/ +RewriteBase /instance/proxy/opac-de-23/record -RewriteRule ^([0-9]+[0-9X](\.[a-z]+)?)$ /instance/proxy/opac-de-23/index.php/$1 [END] +RewriteRule ^([0-9]+[0-9X](\.[a-z]+)?)$ /instance/proxy/opac-de-23/record/index.php/$1 [END] diff --git a/public/instance/proxy/opac-de-23/index.php b/public/instance/proxy/opac-de-23/record/index.php similarity index 90% rename from public/instance/proxy/opac-de-23/index.php rename to public/instance/proxy/opac-de-23/record/index.php index f3ad45bd0..08a74b06b 100644 --- a/public/instance/proxy/opac-de-23/index.php +++ b/public/instance/proxy/opac-de-23/record/index.php @@ -1,6 +1,6 @@ <?php -require_once __DIR__ . '/../../../../vendor/autoload.php'; +require_once __DIR__ . '/../../../../../vendor/autoload.php'; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -13,9 +13,9 @@ use HAB\Pica\Reader\PicaNormReader; use HAB\Pica\Writer\PicaXmlWriter; define('PSI_TEMPLATE', 'http://opac.lbs-braunschweig.gbv.de/DB=2/PLAIN=Y/CHARSET=UTF8/PLAINTTLCHARSET=UTF8/PPN?PPN=%s'); -define('PICA_TEMPLATE', 'http://uri.hab.de/instance/proxy/opac-de-23/%s.xml'); -define('MODS_TEMPLATE', 'http://uri.hab.de/instance/proxy/opac-de-23/%s.mods'); -define('RDF_TEMPLATE', 'http://uri.hab.de/instance/proxy/opac-de-23/%s.rdf'); +define('PICA_TEMPLATE', 'http://uri.hab.de/instance/proxy/opac-de-23/record/%s.xml'); +define('MODS_TEMPLATE', 'http://uri.hab.de/instance/proxy/opac-de-23/record/%s.mods'); +define('RDF_TEMPLATE', 'http://uri.hab.de/instance/proxy/opac-de-23/record/%s.rdf'); function terminate (Request $request, Response $response) { $response->prepare($request); @@ -85,11 +85,11 @@ switch ($format) { if ($type[0] === 'T') { $response = new Response('<h1>406 Not Acceptable</h1>', 406, array('Content-Type' => 'text/html')); } else { - $templateUri = __DIR__ . '/../../../../src/xslt/pica/mods.xsl'; + $templateUri = __DIR__ . '/../../../../../src/xslt/pica/mods.xsl'; $sourceUri = sprintf(PICA_TEMPLATE, $ident); $content = transform($sourceUri, $templateUri); if ($content) { - $response = new Response($content, 200, array('Content-Type' => 'application/mods+xml')); + $response = new Response($content, 200, array('Content-Type' => 'application/xml')); break; } } @@ -100,7 +100,7 @@ switch ($format) { if ($type[0] === 'T') { $response = new Response('<h1>406 Not Acceptable</h1>', 406, array('Content-Type' => 'text/html')); } else { - $templateUri = __DIR__ . '/../../../../src/xslt/mods2dc.xsl'; + $templateUri = __DIR__ . '/../../../../../src/xslt/mods2dc.xsl'; $sourceUri = sprintf(MODS_TEMPLATE, $ident); $content = transform($sourceUri, $templateUri); if ($content) { @@ -113,7 +113,7 @@ switch ($format) { case 'rdf': $type = (string)$record->getFirstMatchingField('002@/00')->getNthSubfield(0, '0'); if ($type[0] === 'T') { - $templateUri = __DIR__ . '/../../../../src/xslt/pica/auth.xsl'; + $templateUri = __DIR__ . '/../../../../../src/xslt/pica/auth.xsl'; $sourceUri = sprintf(PICA_TEMPLATE, $ident); $content = transform($sourceUri, $templateUri); if ($content) { @@ -121,7 +121,7 @@ switch ($format) { break; } } else { - $templateUri = __DIR__ . '/../../../../src/xslt/mods2rdf.xsl'; + $templateUri = __DIR__ . '/../../../../../src/xslt/mods2rdf.xsl'; $sourceUri = sprintf(MODS_TEMPLATE, $ident); $content = transform($sourceUri, $templateUri); if ($content) { diff --git a/src/xslt/mods2rdf.xsl b/src/xslt/mods2rdf.xsl index 15b58b005..2d743cbd3 100644 --- a/src/xslt/mods2rdf.xsl +++ b/src/xslt/mods2rdf.xsl @@ -9,7 +9,7 @@ xmlns:mods="http://www.loc.gov/mods/v3" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <xsl:variable name="proxyBaseUrl">http://uri.hab.de/instance/proxy/opac-de-23/</xsl:variable> + <xsl:variable name="proxyBaseUrl">http://uri.hab.de/instance/proxy/opac-de-23/record/</xsl:variable> <xsl:template match="mods:mods"> <rdf:RDF> diff --git a/src/xslt/pica/auth.xsl b/src/xslt/pica/auth.xsl index f641ef452..47180eb72 100644 --- a/src/xslt/pica/auth.xsl +++ b/src/xslt/pica/auth.xsl @@ -11,7 +11,7 @@ <xsl:template match="pica:record[starts-with(pica:datafield[@tag = '002@']/pica:subfield[@code = '0'], 'Tp')]"> <rdf:RDF> - <foaf:Person rdf:about="http://uri.hab.de/instance/proxy/opac-de-23/{pica:datafield[@tag = '003@']/pica:subfield[@code = '0']}"> + <foaf:Person rdf:about="http://uri.hab.de/instance/proxy/opac-de-23/record/{pica:datafield[@tag = '003@']/pica:subfield[@code = '0']}"> <xsl:apply-templates/> <xsl:call-template name="foaf:Person"> <xsl:with-param name="nameField" select="pica:datafield[@tag = '028A']"/> @@ -22,7 +22,7 @@ <xsl:template match="pica:record[starts-with(pica:datafield[@tag = '002@']/pica:subfield[@code = '0'], 'Tb')]"> <rdf:RDF> - <foaf:Person rdf:about="http://uri.hab.de/instance/proxy/opac-de-23/{pica:datafield[@tag = '003@']/pica:subfield[@code = '0']}"> + <foaf:Person rdf:about="http://uri.hab.de/instance/proxy/opac-de-23/record/{pica:datafield[@tag = '003@']/pica:subfield[@code = '0']}"> <xsl:apply-templates/> <xsl:call-template name="foaf:Organization"> <xsl:with-param name="nameField" select="pica:datafield[@tag = '028A']"/> @@ -34,7 +34,7 @@ <xsl:template match="pica:record"> <xsl:variable name="recordType" select="substring(pica:datafield[@tag = '002@']/pica:subfield[@code = '0'], 2, 1)"/> <rdf:RDF> - <skos:Concept rdf:about="http://uri.hab.de/instance/proxy/opac-de-23/{pica:datafield[@tag = '003@']/pica:subfield[@code = '0']}"> + <skos:Concept rdf:about="http://uri.hab.de/instance/proxy/opac-de-23/record/{pica:datafield[@tag = '003@']/pica:subfield[@code = '0']}"> <xsl:apply-templates/> </skos:Concept> </rdf:RDF> diff --git a/src/xslt/pica/mods.xsl b/src/xslt/pica/mods.xsl index c11451908..617df0b72 100644 --- a/src/xslt/pica/mods.xsl +++ b/src/xslt/pica/mods.xsl @@ -7,7 +7,7 @@ xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> - <xsl:variable name="proxyBaseUrl">http://uri.hab.de/instance/proxy/opac-de-23/</xsl:variable> + <xsl:variable name="proxyBaseUrl">http://uri.hab.de/instance/proxy/opac-de-23/record/</xsl:variable> <xsl:template match="pica:record"> diff --git a/src/xslt/prune.xsl b/src/xslt/prune.xsl new file mode 100644 index 000000000..27c82937d --- /dev/null +++ b/src/xslt/prune.xsl @@ -0,0 +1,8 @@ +<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:template match="node() | @*"> + <xsl:copy> + <xsl:apply-templates select="node() | @*"/> + </xsl:copy> + </xsl:template> + <xsl:template match="*[normalize-space() = '']"/> +</xsl:transform> -- GitLab