Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
repo:jpglr [2013/06/18 10:46] giancarlo |
repo:jpglr [2013/06/18 10:49] (current) giancarlo |
<WRAP prewrap center> | <WRAP prewrap center> |
<code xml> | <code xml> |
<?xml version="1.0"?> | <fmm:MethodMap xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap" bDefPID="djatoka:bDef" name="MethodMap - djatoka Service Methods"> |
<fmm:MethodMap xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap" name="methodmap"> | <fmm:Method operationName="getJpgLD" wsdlMsgName="getRegionRequest" wsdlMsgOutput="response"> |
<fmm:Method operationName="dc2pico" wsdlMsgName="dc2picoRequestMsg" wsdlMsgOutput="response"> | <fmm:DefaultInputParm defaultValue="$PID" label="fedora object pid" parmName="PID" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
<fmm:DatastreamInputParm parmName="DC" passBy="URL_REF" required="true"/> | <fmm:DefaultInputParm defaultValue="TIFF" label="content model" parmName="DSID" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
<fmm:DatastreamInputParm parmName="XSL" passBy="URL_REF" required="true"/> | <fmm:DefaultInputParm defaultValue="info:lanl-repo/svc/getRegion" parmName="svc_id" passBy="VALUE" required="true"></fmm:DefaultInputParm> |
<fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"/> | <fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="image/jpeg"></fmm:MethodReturnType> |
<fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="text/xml"/> | </fmm:Method> |
</fmm:Method> | |
</fmm:MethodMap> | </fmm:MethodMap> |
</code> | </code> |
</WRAP> | </WRAP> |
* XSL (see next paragraph) | |
| |
| ===== Fedora Commons pageCModel ===== |
===== XSLT for DC to PICO transformation ===== | |
XSL datastream contains xslt transformation: | |
<WRAP prewrap center> | |
<code xml> | |
<?xml version="1.0"?> | |
<xsl:stylesheet xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:pico="http://purl.org/pico/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="oai_dc fn foxml rdf" version="1.0" xsi:schemaLocation="http://purl.org/pico/1.0/ http://www.culturaitalia.it/opencms/export/sites/culturaitalia/attachments/schemas/1.0/pico.xsd"> | |
<xsl:output encoding="UTF-8" indent="yes" method="xml"/> | |
<xsl:variable name="ns" select="'http://purl.org/pico/1.0/'"/> | |
<xsl:variable name="schemaLoc" select="'http://purl.org/pico/1.0/ http://www.culturaitalia.it/opencms/export/sites/culturaitalia/attachments/schemas/1.0/pico.xsd'"/> | |
<xsl:template match="/"> | |
<pico:record> | |
<xsl:attribute name="xsi:schemaLocation" namespace="http://www.w3.org/2001/XMLSchema-instance"> | |
<xsl:value-of select="$schemaLoc"/> | |
</xsl:attribute> | |
<dc:title> | |
<xsl:value-of select="/oai_dc:dc/dc:title"/> | |
</dc:title> | |
<dc:creator> | |
<xsl:value-of select="/oai_dc:dc/dc:creator"/> | |
</dc:creator> | |
<xsl:apply-templates select="/oai_dc:dc/dc:subject"/> | |
<xsl:if test="/oai_dc:dc/dc:description != ''"> | |
<dc:description> | |
<xsl:value-of select="/oai_dc:dc/dc:description"/> | |
</dc:description> | |
</xsl:if> | |
<dc:publisher> | |
<xsl:value-of select="/oai_dc:dc/dc:publisher"/> | |
</dc:publisher> | |
<dc:date> | |
<xsl:value-of select="/oai_dc:dc/dc:date"/> | |
</dc:date> | |
<xsl:apply-templates select="/oai_dc:dc/dc:type"/> | |
<xsl:for-each select="/oai_dc:dc/dc:identifier"> | |
<xsl:choose> | |
<xsl:when test="contains(.,'http')"> | |
<xsl:element name="dcterms:isReferencedBy"> | |
<xsl:attribute name="xsi:type" namespace="http://www.w3.org/2001/XMLSchema-instance">pico:Anchor</xsl:attribute> | |
<xsl:value-of select="'title=visualizza la scheda esterna; url='"/> | |
<xsl:value-of select="."/> | |
</xsl:element> | |
<xsl:element name="pico:preview"> | |
<xsl:attribute name="xsi:type" namespace="http://www.w3.org/2001/XMLSchema-instance">dcterms:URI</xsl:attribute> | |
<xsl:value-of select="."/> | |
<xsl:value-of select="'/TN'"/> | |
</xsl:element> | |
</xsl:when> | |
<xsl:otherwise> | |
<dc:identifier> | |
<xsl:value-of select="."/> | |
</dc:identifier> | |
</xsl:otherwise> | |
</xsl:choose> | |
</xsl:for-each> | |
<dc:language> | |
<xsl:value-of select="/oai_dc:dc/dc:language"/> | |
</dc:language> | |
</pico:record> | |
</xsl:template> | |
<xsl:template match="dc:subject"> | |
<dc:subject> | |
<xsl:value-of select="/oai_dc:dc/dc:subject"/> | |
</dc:subject> | |
<xsl:element name="dc:subject"> | |
<xsl:attribute name="xsi:type" namespace="http://www.w3.org/2001/XMLSchema-instance">pico:Thesaurus</xsl:attribute> | |
<xsl:value-of select="'http://culturaitalia.it/pico/thesaurus/4.2#libri'"/> | |
</xsl:element> | |
</xsl:template> | |
<xsl:template match="dc:type"> | |
<xsl:element name="dc:type"> | |
<xsl:attribute name="xsi:type" namespace="http://www.w3.org/2001/XMLSchema-instance">dcterms:DCMIType</xsl:attribute> | |
<xsl:value-of select="/oai_dc:dc/dc:type"/> | |
</xsl:element> | |
</xsl:template> | |
</xsl:stylesheet> | |
</code> | |
</WRAP> | |
===== Fedora Commons bookCModel ===== | |
Add the new service to RELS-EXT datastream: | Add the new service to RELS-EXT datastream: |
<WRAP prewrap center> | <WRAP prewrap center> |
<code xml> | <code xml> |
<?xml version="1.0"?> | |
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> | <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> |
<rdf:Description rdf:about="info:fedora/islandora:bookCModel"> | <rdf:Description rdf:about="info:fedora/islandora:pageCModel"> |
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/fedora-system:ContentModel-3.0"/> | <hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/fedora-system:ContentModel-3.0"></hasModel> |
<hasService xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:viewerSdef"/> | <hasService xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:viewerSdef"></hasService> |
<hasService xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/openbess:dc2picoSdef"/> | <hasService xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:jp2Sdef"></hasService> |
| <hasService xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/islandora:tei2htmlSdef"></hasService> |
| <hasService xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/openbess:jpgldSdef"></hasService> |
</rdf:Description> | </rdf:Description> |
</rdf:RDF> | </rdf:RDF> |
</code> | |
</WRAP> | |
===== Oaiprovider (proai) configuration ===== | |
Add new metada format to proai.properties: | |
<WRAP prewrap center> | |
<code> | |
... | |
driver.fedora.md.formats = oai_dc pico | |
driver.fedora.md.format.oai_dc.loc = http://www.openarchives.org/OAI/2.0/oai_dc.xsd | |
driver.fedora.md.format.pico.loc = http://www.culturaitalia.it/opencms/export/sites/culturaitalia/attachments/schemas/1.0/pico.xsd | |
driver.fedora.md.format.oai_dc.uri = http://www.openarchives.org/OAI/2.0/oai_dc/ | |
driver.fedora.md.format.pico.uri = http://purl.org/pico/1.0/ | |
driver.fedora.md.format.oai_dc.dissType = info:fedora/*/DC | |
driver.fedora.md.format.pico.dissType = info:fedora/*/openbess:dc2picoSdef/dc2pico | |
... | |
</code> | </code> |
</WRAP> | </WRAP> |
| |
===== Result example ===== | |
Harvesting fron this URL | |
<code> | |
http://fc1.to.cnr.it/oaiprovider/?verb=GetRecord&identifier=oai:fc1.to.cnr.it:openbess:TO043-00057&metadataPrefix=pico | |
</code> | |
return this: | |
<WRAP prewrap center> | |
<code xml> | |
<?xml version="1.0" encoding="UTF-8"?> | |
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"> | |
<responseDate>2012-07-11T10:03:19Z</responseDate> | |
<request verb="GetRecord" identifier="oai:fc1.to.cnr.it:openbess:TO043-00057" metadataPrefix="pico">http://fc1.to.cnr.it/oaiprovider/</request> | |
<GetRecord> | |
<record> | |
<header> | |
<identifier>oai:fc1.to.cnr.it:openbess:TO043-00057</identifier> | |
<datestamp>2012-07-11T10:02:03Z</datestamp> | |
<setSpec>digibess:openbess:cognetti:directors</setSpec> | |
</header> | |
<metadata> | |
<pico:record xmlns:pico="http://purl.org/pico/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://purl.org/pico/1.0/ http://www.culturaitalia.it/opencms/export/sites/culturaitalia/attachments/schemas/1.0/pico.xsd"> | |
<dc:title>Monografie di soci e allievi del laboratorio di economia politica : 1909-911</dc:title> | |
<dc:creator>R. Università di Torino</dc:creator> | |
<dc:subject>Economia, lavoro, società</dc:subject> | |
<dc:subject xsi:type="pico:Thesaurus">http://culturaitalia.it/pico/thesaurus/4.2#libri</dc:subject> | |
<dc:publisher>s.n.</dc:publisher> | |
<dc:date>2012-01-16</dc:date> | |
<dc:type xsi:type="dcterms:DCMIType">Text</dc:type> | |
<dc:identifier>openbess:TO043-00057</dc:identifier> | |
<dcterms:isReferencedBy xsi:type="pico:Anchor">title=visualizza la scheda esterna; url=http://www.digibess.it/fedora/repository/openbess:TO043-00057</dcterms:isReferencedBy> | |
<pico:preview xsi:type="dcterms:URI">http://www.digibess.it/fedora/repository/openbess:TO043-00057/TN</pico:preview> | |
<dc:language>it</dc:language> | |
</pico:record> | |
</metadata> | |
</record> | |
</GetRecord> | |
</OAI-PMH> | |
</code> | |
</WRAP> | |
| |