You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

In previous versions of Fedora, datastream inputs to service methods were limited to datastreams that were members of a given data object.A typical scenario involved a dissemination that used XSL to transform one metadata format into another.

For example, in order to create a dissemination which uses an XSL document to transform one metadata format into another, each object was required to have a member datastream that contained (or referenced) the XSL document, even though the XSL document was shared across all of the objects.

sDep MethodMap

<fmm:MethodMap name="MethodMap - Document Transform SDEF Methods"
               xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap">
  <fmm:Method operationName="transform"
              wsdlMsgName="transformRequest"
              wsdlMsgOutput="transformResponse">
    <fmm:DatastreamInputParm parmName="DC" passBy="URL_REF" required="true"/>
    <fmm:DatastreamInputParm parmName="XSL" passBy="URL_REF" required="true"/>
    <fmm:DefaultInputParm parmName="CLEAR_CACHE" passBy="VALUE" required="true"
                          defaultValue="yes" />
    <fmm:MethodReturnType wsdlMsgName="transformResponse"
                          wsdlMsgTOMIME="text/xml"/>
  </fmm:Method>
</fmm:MethodMap>

sDep DSInputSpec

<fbs:DSInputSpec xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec"
                         label="Datastream Inputs">
  <fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false"
                       wsdlMsgPartName="DC">
    <fbs:DSInputLabel>Dublin Core</fbs:DSInputLabel>
    <fbs:DSMIME>text/xml</fbs:DSMIME>
    <fbs:DSInputInstruction>XML source to be transformed</fbs:DSInputInstruction>
  </fbs:DSInput>
  <fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false"
               wsdlMsgPartName="XSL" pid="demo:dc2mods.cmodel">
    <fbs:DSInputLabel>XSL</fbs:DSInputLabel>
    <fbs:DSMIME>application/xml</fbs:DSMIME>
    <fbs:DSInputInstruction>DC to MODS XSLT</fbs:DSInputInstruction>
  </fbs:DSInput>
</fbs:DSInputSpec>
  • No labels