<?xml version="1.0" encoding="UTF-8"?>
<foxml:digitalObject PID="islandora:mods2htmlSdep" VERSION="1.1" xmlns:foxml="info:fedora/fedora-system:def/foxml#"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd">
  <foxml:objectProperties>
    <foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/>
    <foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="MODS to HTML Disseminator Service Deployment"/>
    <foxml:property NAME="info:fedora/fedora-system:def/model#ownerId" VALUE="fedoraAdmin"/>
    <foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2010-03-12T15:14:29.138Z"/>
    <foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2010-06-01T01:05:17.111Z"/>
  </foxml:objectProperties>
  <foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false">
    <foxml:datastreamVersion CREATED="2010-03-12T15:14:29.138Z"
      FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Audit Trail for this object" MIMETYPE="text/xml">
      <foxml:xmlContent>
        <audit:auditTrail xmlns:audit="info:fedora/fedora-system:def/audit#">
          <audit:record ID="AUDREC1">
            <audit:process type="Fedora API-M"/>
            <audit:action>ingest</audit:action>
            <audit:componentID/>
            <audit:responsibility>fedoraAdmin</audit:responsibility>
            <audit:date>2010-03-12T15:14:29.138Z</audit:date>
            <audit:justification>Created with Admin GUI "New Object" command</audit:justification>
          </audit:record>
          <audit:record ID="AUDREC2">
            <audit:process type="Fedora API-M"/>
            <audit:action>addDatastream</audit:action>
            <audit:componentID>XSL</audit:componentID>
            <audit:responsibility>fedoraAdmin</audit:responsibility>
            <audit:date>2010-03-12T15:17:20.270Z</audit:date>
            <audit:justification>DatastreamsPane generated this logMessage.</audit:justification>
          </audit:record>
          <audit:record ID="AUDREC3">
            <audit:process type="Fedora API-M"/>
            <audit:action>modifyDatastreamByValue</audit:action>
            <audit:componentID>RELS-EXT</audit:componentID>
            <audit:responsibility>fedoraAdmin</audit:responsibility>
            <audit:date>2010-03-12T15:18:27.234Z</audit:date>
            <audit:justification/>
          </audit:record>
          <audit:record ID="AUDREC4">
            <audit:process type="Fedora API-M"/>
            <audit:action>modifyDatastreamByValue</audit:action>
            <audit:componentID>METHODMAP</audit:componentID>
            <audit:responsibility>fedoraAdmin</audit:responsibility>
            <audit:date>2010-03-12T15:21:44.430Z</audit:date>
            <audit:justification/>
          </audit:record>
          <audit:record ID="AUDREC5">
            <audit:process type="Fedora API-M"/>
            <audit:action>modifyDatastreamByValue</audit:action>
            <audit:componentID>DSINPUTSPEC</audit:componentID>
            <audit:responsibility>fedoraAdmin</audit:responsibility>
            <audit:date>2010-03-12T15:23:21.361Z</audit:date>
            <audit:justification/>
          </audit:record>
          <audit:record ID="AUDREC6">
            <audit:process type="Fedora API-M"/>
            <audit:action>modifyDatastreamByValue</audit:action>
            <audit:componentID>WSDL</audit:componentID>
            <audit:responsibility>fedoraAdmin</audit:responsibility>
            <audit:date>2010-03-12T15:27:58.299Z</audit:date>
            <audit:justification/>
          </audit:record>
          <audit:record ID="AUDREC7">
            <audit:process type="Fedora API-M"/>
            <audit:action>ingest</audit:action>
            <audit:componentID/>
            <audit:responsibility>admin</audit:responsibility>
            <audit:date>2010-05-25T13:17:13.612Z</audit:date>
            <audit:justification>Fedora Object Ingested</audit:justification>
          </audit:record>
          <audit:record ID="AUDREC8">
            <audit:process type="Fedora API-M"/>
            <audit:action>modifyDatastreamByValue</audit:action>
            <audit:componentID>RELS-EXT</audit:componentID>
            <audit:responsibility>fedoraAdmin</audit:responsibility>
            <audit:date>2010-06-01T01:05:17.111Z</audit:date>
            <audit:justification/>
          </audit:record>
        </audit:auditTrail>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2010-03-12T15:14:29.172Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0"
      ID="RELS-EXT1.0" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="612">
      <foxml:xmlContent>
        <rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
          <rdf:Description rdf:about="info:fedora/islandora:mods2htmlSdep">
            <fedora-model:hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0"/>
            <fedora-model:isDeploymentOf rdf:resource="info:fedora/changeme-to-sDefPid"/>
            <fedora-model:isContractorOf rdf:resource="info:fedora/changeme-to-cModelPid"/>
          </rdf:Description>
        </rdf:RDF>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
    <foxml:datastreamVersion CREATED="2010-03-12T15:18:27.234Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0"
      ID="RELS-EXT.1" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="613">
      <foxml:xmlContent>
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
          <rdf:Description rdf:about="info:fedora/islandora:mods2htmlSdep">
            <hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/>
            <isDeploymentOf rdf:resource="info:fedora/islandora:mods2htmlSdef" xmlns="info:fedora/fedora-system:def/model#"/>
            <isContractorOf rdf:resource="info:fedora/islandora:mapCModel" xmlns="info:fedora/fedora-system:def/model#"/>
          </rdf:Description>
        </rdf:RDF>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
    <foxml:datastreamVersion CREATED="2010-06-01T01:05:17.111Z" FORMAT_URI="info:fedora/fedora-system:FedoraRELSExt-1.0"
      ID="RELS-EXT.2" LABEL="RDF Statements about this object" MIMETYPE="application/rdf+xml" SIZE="698">
      <foxml:xmlContent>
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
          <rdf:Description rdf:about="info:fedora/islandora:mods2htmlSdep">
            <hasModel rdf:resource="info:fedora/fedora-system:ServiceDeployment-3.0" xmlns="info:fedora/fedora-system:def/model#"/>
            <isDeploymentOf rdf:resource="info:fedora/islandora:mods2htmlSdef" xmlns="info:fedora/fedora-system:def/model#"/>
            <isContractorOf rdf:resource="info:fedora/islandora:mapCModel" xmlns="info:fedora/fedora-system:def/model#"/>
            <isContractorOf rdf:resource="info:fedora/newspapers:issueCModel" xmlns="info:fedora/fedora-system:def/model#"/>
          </rdf:Description>
        </rdf:RDF>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="METHODMAP" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2010-03-12T15:14:29.172Z"
      FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP1.0" LABEL="Deployment Method Map"
      MIMETYPE="text/xml" SIZE="298">
      <foxml:xmlContent>
        <comment xmlns="info:fedora/fedora-system:def/comment#">
          This METHODMAP datastream is included as a starting point to
          assist in the creation of a service deployment. The METHODMAP
          should define the the mapping of the WSDL to Fedora object methods.
        </comment>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
    <foxml:datastreamVersion CREATED="2010-03-12T15:21:44.430Z"
      FORMAT_URI="info:fedora/fedora-system:FedoraSDepMethodMap-1.1" ID="METHODMAP.1" LABEL="Deployment Method Map"
      MIMETYPE="text/xml" SIZE="698">
      <foxml:xmlContent>
        <fmm:MethodMap name="methodmap" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap">
          <fmm:Method operationName="mods2html" wsdlMsgName="mods2htmlRequestMsg" wsdlMsgOutput="response">
            <fmm:DatastreamInputParm parmName="MODS" passBy="URL_REF" required="true"/>
            <fmm:DatastreamInputParm parmName="XSL" passBy="URL_REF" required="true"/>
            <fmm:UserInputParm defaultValue="" parmName="uid" passBy="VALUE" required="false"/>
            <fmm:MethodReturnType wsdlMsgName="response" wsdlMsgTOMIME="text/html"/>
          </fmm:Method>
        </fmm:MethodMap>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2010-03-12T15:14:29.172Z"
      FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC1.0"
      LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="300">
      <foxml:xmlContent>
        <comment xmlns="info:fedora/fedora-system:def/comment#">
          This DSINPUTSPEC datastream is included as a starting point to
          assist in the creation of a service deployment. The DSINPUTSPEC
          should define the datastreams to be used by WSDL-defined methods.
        </comment>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
    <foxml:datastreamVersion CREATED="2010-03-12T15:23:21.361Z"
      FORMAT_URI="info:fedora/fedora-system:FedoraDSInputSpec-1.1" ID="DSINPUTSPEC.1"
      LABEL="Datastream Input Specification" MIMETYPE="text/xml" SIZE="714">
      <foxml:xmlContent>
        <fbs:DSInputSpec label="mods2htmlSdepInputSpec" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec">
          <fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="MODS">
            <fbs:DSInputLabel>MODS</fbs:DSInputLabel>
            <fbs:DSMIME>text/xml</fbs:DSMIME>
            <fbs:DSInputInstruction/>
          </fbs:DSInput>
          <fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" pid="islandora:mods2htmlSdep" wsdlMsgPartName="XSL">
            <fbs:DSInputLabel>XSL</fbs:DSInputLabel>
            <fbs:DSMIME>text/xml</fbs:DSMIME>
            <fbs:DSInputInstruction/>
          </fbs:DSInput>
        </fbs:DSInputSpec>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2010-03-12T15:14:29.178Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/"
      ID="WSDL1.0" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="752">
      <foxml:xmlContent>
        <comment xmlns="info:fedora/fedora-system:def/comment#">
          This WSDL datastream is included as a starting point to
            assist in the creation of a service deployment. The WSDL
            should define the services provided by this
            service deployment.
          For more information about service deployments, see:
            http://fedora-commons.org/confluence/x/dgBI.
          For examples of completed service deployment objects, see the demonstration
            objects included with your Fedora distribution, such as:
            demo:2, demo:13, demo:20, and demo:28.
          For more information about the demonstration objects, see:
            http://fedora-commons.org/confluence/x/AwFI.
        </comment>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
    <foxml:datastreamVersion CREATED="2010-03-12T15:27:58.299Z" FORMAT_URI="http://schemas.xmlsoap.org/wsdl/"
      ID="WSDL.1" LABEL="WSDL Bindings" MIMETYPE="text/xml" SIZE="1953">
      <foxml:xmlContent>
        <wsdl:definitions name="mods2htmlSdep" targetNamespace="mods2htmlSdep"
          xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap"
          xmlns:soapenc="http://schemas.xmlsoap.org/wsdl/soap/encoding" xmlns:this="mods2htmlSdep"
          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <wsdl:message name="mods2htmlRequestMsg">
            <wsdl:part name="MODS" type="xsd:string"/>
            <wsdl:part name="XSL" type="xsd:string"/>
          </wsdl:message>
          <wsdl:message name="response">
            <wsdl:part name="exhibit" type="xsd:base64Binary"/>
          </wsdl:message>
          <wsdl:portType name="mods2html_portType">
            <wsdl:operation name="mods2html">
              <wsdl:input message="this:mods2htmlRequestMsg"/>
              <wsdl:output message="this:response"/>
            </wsdl:operation>
          </wsdl:portType>
          <wsdl:service name="mods2html_service">
            <wsdl:port binding="this:mods2html_binding" name="mods2html_port">
              <http:address location="http://local.fedora.server/saxon/"/>
            </wsdl:port>
          </wsdl:service>
          <wsdl:binding name="mods2html_binding" type="this:mods2html_portType">
            <http:binding verb="GET"/>
            <wsdl:operation name="mods2html">
              <http:operation location="SaxonServlet?source=(MODS)&amp;style=(XSL)&amp;clear-stylesheet-cache=yes"/>
              <wsdl:input>
                <http:urlReplacement/>
              </wsdl:input>
              <wsdl:output>
                <mime:content type="text/html"/>
              </wsdl:output>
            </wsdl:operation>
          </wsdl:binding>
        </wsdl:definitions>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2010-03-12T15:14:29.138Z" FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/"
      ID="DC1.0" LABEL="Dublin Core Record for this object" MIMETYPE="text/xml" SIZE="420">
      <foxml:xmlContent>
        <oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/"
          xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
          <dc:title>MODS to HTML Disseminator Service Deployment</dc:title>
          <dc:identifier>islandora:mods2htmlSdep</dc:identifier>
        </oai_dc:dc>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="XSL" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2010-03-12T15:17:20.270Z" ID="XSL.0"
      LABEL="MODS to HTML XSLT Transformation Stylesheet" MIMETYPE="text/xml" SIZE="8864">
      <foxml:xmlContent>
        <xsl:stylesheet exclude-result-prefixes="mods" version="1.0" xmlns:mods="http://www.loc.gov/mods/v3"
          xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
          <xsl:output indent="yes" method="html"/>
          <xsl:variable name="dictionary" select="document('http://www.loc.gov/standards/mods/modsDictionary.xml')/dictionary"/>
          <xsl:template match="/">
            <html>
              <head>
                <style type="text/css">TD {vertical-align:top}</style>
              </head>
              <body>
                <xsl:choose>
                  <xsl:when test="mods:modsCollection">
                    <xsl:apply-templates select="mods:modsCollection"/>
                  </xsl:when>
                  <xsl:when test="mods:mods">
                    <xsl:apply-templates select="mods:mods"/>
                  </xsl:when>
                </xsl:choose>
              </body>
            </html>
          </xsl:template>
          <xsl:template match="mods:modsCollection">
            <xsl:apply-templates select="mods:mods"/>
          </xsl:template>
          <xsl:template match="mods:mods">
            <table>
              <xsl:apply-templates/>
            </table>
            <hr/>
          </xsl:template>
          <xsl:template match="*">
            <xsl:choose>
              <xsl:when test="child::*">
                <tr>
                  <td colspan="2">
                    <b>
                      <xsl:call-template name="longName">
                        <xsl:with-param name="name">
                          <xsl:value-of select="local-name()"/>
                        </xsl:with-param>
                      </xsl:call-template>
                      <xsl:call-template name="attr"/>
                    </b>
                  </td>
                </tr>
                <xsl:apply-templates mode="level2"/>
              </xsl:when>
              <xsl:otherwise>
                <tr>
                  <td width="300pt">
                    <b>
                      <xsl:call-template name="longName">
                        <xsl:with-param name="name">
                          <xsl:value-of select="local-name()"/>
                        </xsl:with-param>
                      </xsl:call-template>
                      <xsl:call-template name="attr"/>
                    </b>
                  </td>
                  <td>
                    <xsl:call-template name="formatValue"/>
                  </td>
                </tr>
              </xsl:otherwise>
            </xsl:choose>
          </xsl:template>
          <xsl:template name="formatValue">
            <xsl:choose>
              <xsl:when test="@type='uri'">
                <a href="{text()}">
                  <xsl:value-of select="text()"/>
                </a>
              </xsl:when>
              <xsl:otherwise>
                <xsl:value-of select="text()"/>
              </xsl:otherwise>
            </xsl:choose>
          </xsl:template>
          <xsl:template match="*" mode="level2">
            <xsl:choose>
              <xsl:when test="child::*">
                <tr>
                  <td colspan="2">
                    <p style="margin-left: 1em">
                      <xsl:call-template name="longName">
                        <xsl:with-param name="name">
                          <xsl:value-of select="local-name()"/>
                        </xsl:with-param>
                      </xsl:call-template>
                      <xsl:call-template name="attr"/>
                    </p>
                  </td>
                </tr>
                <xsl:apply-templates mode="level3"/>
              </xsl:when>
              <xsl:otherwise>
                <tr>
                  <td>
                    <p style="margin-left: 1em">
                      <xsl:call-template name="longName">
                        <xsl:with-param name="name">
                          <xsl:value-of select="local-name()"/>
                        </xsl:with-param>
                      </xsl:call-template>
                      <xsl:call-template name="attr"/>
                    </p>
                  </td>
                  <td>
                    <xsl:call-template name="formatValue"/>
                  </td>
                </tr>
              </xsl:otherwise>
            </xsl:choose>
          </xsl:template>
          <xsl:template match="*" mode="level3">
            <xsl:choose>
              <xsl:when test="child::*">
                <tr>
                  <td colspan="2">
                    <p style="margin-left: 2em">
                      <xsl:call-template name="longName">
                        <xsl:with-param name="name">
                          <xsl:value-of select="local-name()"/>
                        </xsl:with-param>
                      </xsl:call-template>
                      <xsl:call-template name="attr"/>
                    </p>
                  </td>
                </tr>
                <xsl:apply-templates mode="level4"/>
              </xsl:when>
              <xsl:otherwise>
                <tr>
                  <td>
                    <p style="margin-left: 2em">
                      <xsl:call-template name="longName">
                        <xsl:with-param name="name">
                          <xsl:value-of select="local-name()"/>
                        </xsl:with-param>
                      </xsl:call-template>
                      <xsl:call-template name="attr"/>
                    </p>
                  </td>
                  <td>
                    <xsl:call-template name="formatValue"/>
                  </td>
                </tr>
              </xsl:otherwise>
            </xsl:choose>
          </xsl:template>
          <xsl:template match="*" mode="level4">
            <tr>
              <td>
                <p style="margin-left: 3em">
                  <xsl:call-template name="longName">
                    <xsl:with-param name="name">
                      <xsl:value-of select="local-name()"/>
                    </xsl:with-param>
                  </xsl:call-template>
                  <xsl:call-template name="attr"/>
                </p>
              </td>
              <td>
                <xsl:value-of select="text()"/>
              </td>
            </tr>
          </xsl:template>
          <xsl:template name="longName">
            <xsl:param name="name"/>
            <xsl:choose>
              <xsl:when test="$dictionary/entry[@key=$name]">
                <xsl:value-of select="$dictionary/entry[@key=$name]"/>
              </xsl:when>
              <xsl:otherwise>
                <xsl:value-of select="$name"/>
              </xsl:otherwise>
            </xsl:choose>
          </xsl:template>
          <xsl:template name="attr">
            <xsl:for-each select="@type|@point">:<xsl:call-template name="longName">
                <xsl:with-param name="name">
                  <xsl:value-of select="."/>
                </xsl:with-param>
              </xsl:call-template>
            </xsl:for-each>
            <xsl:if test="@authority or @edition">
              <xsl:for-each select="@authority">(<xsl:call-template name="longName">
                  <xsl:with-param name="name">
                    <xsl:value-of select="."/>
                  </xsl:with-param>
                </xsl:call-template>
              </xsl:for-each>
              <xsl:if test="@edition">Edition <xsl:value-of select="@edition"/>
              </xsl:if>)</xsl:if>
            <xsl:variable name="attrStr">
              <xsl:for-each select="@*[local-name()!='edition' and local-name()!='type' and local-name()!='authority' and local-name()!='point']">
                <xsl:value-of select="local-name()"/>="<xsl:value-of select="."/>",</xsl:for-each>
            </xsl:variable>
            <xsl:variable name="nattrStr" select="normalize-space($attrStr)"/>
            <xsl:if test="string-length($nattrStr)">(<xsl:value-of select="substring($nattrStr,1,string-length($nattrStr)-1)"/>)</xsl:if>
          </xsl:template>
        </xsl:stylesheet>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
</foxml:digitalObject>