<?xml version="1.0" encoding="UTF-8"?>
<foxml:digitalObject PID="demo:ex3bMech"
  fedoraxsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-0.xsd"
  xmlns:audit="info:fedora/fedora-system:def/audit#" xmlns:fedoraxsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:foxml="info:fedora/fedora-system:def/foxml#">
  <foxml:objectProperties>
    <foxml:property NAME="http://www.w3.org/1999/02/22-rdf-syntax-ns#type" VALUE="FedoraBMechObject"/>
    <foxml:property NAME="info:fedora/fedora-system:def/model#state" VALUE="Active"/>
    <foxml:property NAME="info:fedora/fedora-system:def/model#label" VALUE="Behavior Mechanism Object implementing the Document Transform BDEF contract using the Fedora Local Saxon Transformation Service"/>
    <foxml:property NAME="info:fedora/fedora-system:def/model#createdDate" VALUE="2008-04-20T07:53:47.562Z"/>
    <foxml:property NAME="info:fedora/fedora-system:def/view#lastModifiedDate" VALUE="2008-04-20T07:53:47.562Z"/>
    <foxml:property NAME="info:fedora/fedora-system:def/model#contentModel" VALUE="fedora:BMECH"/>
  </foxml:objectProperties>
  <foxml:datastream CONTROL_GROUP="X" ID="AUDIT" STATE="A" VERSIONABLE="false">
    <foxml:datastreamVersion CREATED="2008-04-20T07:53:47.562Z"
      FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit" ID="AUDIT.0" LABEL="Fedora Object Audit Trail" 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>ingestObject</audit:action>
            <audit:componentID/>
            <audit:responsibility>fedoraAdmin</audit:responsibility>
            <audit:date>2008-04-20T07:53:47.562Z</audit:date>
            <audit:justification>Ingested from local file C:\fedora\docs\userdocs\tutorials\2\example3\bmech.xml</audit:justification>
          </audit:record>
        </audit:auditTrail>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="DC" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2008-04-20T07:53:47.562Z" ID="DC1.0" LABEL="Dublin Core Metadata"
      MIMETYPE="text/xml" SIZE="339">
      <foxml:contentDigest DIGEST="none" TYPE="DISABLED"/>
      <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/">
          <dc:title>Behavior Mechanism Object implementing the Document Transform BDEF contract using the Fedora Local Saxon Transformation Service</dc:title>
          <dc:identifier>demo:ex3bMech</dc:identifier>
        </oai_dc:dc>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="E" ID="DS1" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2008-04-20T07:53:47.562Z" ID="DS1.0" LABEL="Programmer documentation"
      MIMETYPE="text/html" SIZE="0">
      <foxml:contentDigest DIGEST="none" TYPE="DISABLED"/>
      <foxml:contentLocation REF="http://local.fedora.server/saxon/" TYPE="URL"/>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="WSDL" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2008-04-20T07:53:47.562Z" ID="WSDL1.0"
      LABEL="WSDL definition for Document Transform Mapping to the Fedora Local Saxon Service" MIMETYPE="text/xml" SIZE="2352">
      <foxml:contentDigest DIGEST="none" TYPE="DISABLED"/>
      <foxml:xmlContent>
        <wsdl:definitions name="Fedora Local Saxon Service" targetNamespace="saxon"
          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="saxon"
          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          <wsdl:types>
            <xsd:schema targetNamespace="saxon">
              <xsd:simpleType name="URLType">
                <xsd:restriction base="xsd:string"/>
              </xsd:simpleType>
              <xsd:simpleType name="CLEAR_CACHEType">
                <xsd:restriction base="xsd:string">
                  <xsd:enumeration value="yes"/>
                  <xsd:enumeration value="no"/>
                </xsd:restriction>
              </xsd:simpleType>
            </xsd:schema>
          </wsdl:types>
          <wsdl:message name="getContentRequest">
            <wsdl:part name="source" type="this:URLType"/>
            <wsdl:part name="xsl" type="this:URLType"/>
            <wsdl:part name="CLEAR_CACHE" type="this:CLEAR_CACHEType"/>
          </wsdl:message>
          <wsdl:message name="xslt_response">
            <wsdl:part name="exhibit" type="xsd:base64Binary"/>
          </wsdl:message>
          <wsdl:portType name="FedoraSaxonPortType">
            <wsdl:operation name="getContent">
              <wsdl:input message="this:getContentRequest"/>
              <wsdl:output message="this:xslt_response"/>
            </wsdl:operation>
          </wsdl:portType>
          <wsdl:service name="FedoraSaxon">
            <wsdl:port binding="this:FedoraSaxon_http" name="FedoraSaxon_port">
              <http:address location="http://local.fedora.server/saxon/"/>
            </wsdl:port>
          </wsdl:service>
          <wsdl:binding name="FedoraSaxon_http" type="this:FedoraSaxonPortType">
            <http:binding verb="GET"/>
            <wsdl:operation name="getContent">
              <http:operation location="SaxonServlet?source=(source)&amp;style=(xsl)&amp;clear-stylesheet-cache=(CLEAR_CACHE)"/>
              <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="METHODMAP" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2008-04-20T07:53:47.562Z" ID="METHODMAP1.0"
      LABEL="Mapping of WSDL to Fedora notion of Method Definitions" MIMETYPE="text/xml" SIZE="756">
      <foxml:contentDigest DIGEST="none" TYPE="DISABLED"/>
      <foxml:xmlContent>
        <fmm:MethodMap bDefPID="demo:ex3bDef" name="MethodMap - Document Transform BDEF Methods" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap">
          <fmm:Method operationName="getContent" wsdlMsgName="getContentRequest" wsdlMsgOutput="xslt_response">
            <fmm:DatastreamInputParm parmName="source" passBy="URL_REF" required="true"/>
            <fmm:DatastreamInputParm parmName="xsl" passBy="URL_REF" required="true"/>
            <fmm:DefaultInputParm defaultValue="yes" parmName="CLEAR_CACHE" passBy="VALUE" required="true"/>
            <fmm:MethodReturnType wsdlMsgName="xslt_response" wsdlMsgTOMIME="text/html"/>
          </fmm:Method>
        </fmm:MethodMap>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="SERVICE-PROFILE" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2008-04-20T07:53:47.562Z" ID="SERVICE-PROFILE1.0"
      LABEL="Service Profile - Technical description of the service" MIMETYPE="text/xml" SIZE="1393">
      <foxml:contentDigest DIGEST="none" TYPE="DISABLED"/>
      <foxml:xmlContent>
        <fsvp:serviceProfile bDefPID="demo:ex3bDef" name="Saxon Service" xmlns:fsvp="http://fedora.comm.nsdlib.org/service/profile">
          <fsvp:serviceDescription>Document transformation via Fedora Local Saxon Service</fsvp:serviceDescription>
          <fsvp:serviceImplementation>
            <fsvp:serviceLiveTestURL>http://local.fedora.server/saxon/</fsvp:serviceLiveTestURL>
            <fsvp:serviceMessagingProtocol>HTTP GET</fsvp:serviceMessagingProtocol>
            <fsvp:serviceInputFormats>
              <fsvp:MIMEType>text/xml</fsvp:MIMEType>
            </fsvp:serviceInputFormats>
            <fsvp:serviceOutputFormats>
              <fsvp:MIMEType>text/html</fsvp:MIMEType>
              <fsvp:MIMEType>text/xml</fsvp:MIMEType>
              <fsvp:MIMEType>text/xhtml</fsvp:MIMEType>
              <fsvp:MIMEType>text/plain</fsvp:MIMEType>
            </fsvp:serviceOutputFormats>
            <fsvp:serviceImplDependencies>
              <fsvp:software license="Mozilla_Public_License" name="saxon" opensource="true" type="Utility_Application" version="6.5"/>
              <fsvp:software license="Apache_Software_License" name="tomcat" opensource="true" type="Server_Application" version="4.1"/>
              <fsvp:software license="Mozilla_Public_License" name="fedora" opensource="true" type="Server_Application" version="1.2"/>
            </fsvp:serviceImplDependencies>
          </fsvp:serviceImplementation>
        </fsvp:serviceProfile>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:datastream CONTROL_GROUP="X" ID="DSINPUTSPEC" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion CREATED="2008-04-20T07:53:47.562Z" ID="DSINPUTSPEC1.0"
      LABEL="Datastream Input Specification Mapping to the Fedora Local Saxon Service" MIMETYPE="text/xml" SIZE="796">
      <foxml:contentDigest DIGEST="none" TYPE="DISABLED"/>
      <foxml:xmlContent>
        <fbs:DSInputSpec bDefPID="demo:ex3bDef" label="Data profile mapping to the Fedora Local Saxon Service" xmlns:fbs="http://fedora.comm.nsdlib.org/service/bindspec">
          <fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="source">
            <fbs:DSInputLabel>XML source file</fbs:DSInputLabel>
            <fbs:DSMIME>text/xml</fbs:DSMIME>
            <fbs:DSInputInstruction>XML source file to be transformed</fbs:DSInputInstruction>
          </fbs:DSInput>
          <fbs:DSInput DSMax="1" DSMin="1" DSOrdinality="false" wsdlMsgPartName="xsl">
            <fbs:DSInputLabel>XSLT Stylesheet</fbs:DSInputLabel>
            <fbs:DSMIME>text/xml</fbs:DSMIME>
            <fbs:DSInputInstruction>Stylesheet to produce the transformation output</fbs:DSInputInstruction>
          </fbs:DSInput>
        </fbs:DSInputSpec>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>
  <foxml:disseminator BDEF_CONTRACT_PID="fedora-system:1" ID="DISS1" STATE="A" VERSIONABLE="true">
    <foxml:disseminatorVersion BMECH_SERVICE_PID="fedora-system:2" CREATED="2008-04-20T07:53:47.562Z" ID="DISS1.0" LABEL="Bootstrap Behaviors">
      <foxml:serviceInputMap>
        <foxml:datastreamBinding DATASTREAM_ID="SERVICE-PROFILE" KEY="SERVICE-PROFILE" LABEL="Service profile metadata"/>
        <foxml:datastreamBinding DATASTREAM_ID="DSINPUTSPEC" KEY="FEDORA-TO-WSDL-DSINPUTSPEC" LABEL="XML data that serves describes the requirements for Datastreams that will be used as input to the service"/>
        <foxml:datastreamBinding DATASTREAM_ID="METHODMAP" KEY="FEDORA-TO-WSDL-METHODMAP" LABEL="XML data that enables FEDORA to understand how to use the service WSDL"/>
        <foxml:datastreamBinding DATASTREAM_ID="WSDL" KEY="WSDL" LABEL="Service definitions in WSDL format"/>
        <foxml:datastreamBinding DATASTREAM_ID="DS1" KEY="PROGGUIDE" LABEL="The Programmer's user guide for using the service"/>
      </foxml:serviceInputMap>
    </foxml:disseminatorVersion>
  </foxml:disseminator>
</foxml:digitalObject>
