<?xml version="1.0" encoding="ISO-8859-1" ?> 
<rdf:RDF
  xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:service="http://www.daml.org/services/daml-s/0.7/Service.daml#"
  xmlns:process="http://www.daml.org/services/daml-s/0.7/Process.daml#"
  xmlns:profile="http://www.daml.org/services/daml-s/0.7/Profile.daml#"
  xmlns:grounding="http://www.daml.org/services/daml-s/0.7/Grounding.daml#" 
  xmlns:fla="http://www.flacp.fujitsulabs.com/~mhgrove/services/FLACP-ServiceOnt.daml#"
  xmlns:profileHierarchy="http://www.mindswap.org/2002/services/MindswapProfileHierarchy.daml#"
  xmlns="http://www.mindswap.org/2002/services/PharmacyLocator.daml#">

<daml:Ontology rdf:about="">
  <daml:imports rdf:resource="http://www.mindswap.org/2002/services/MindswapProfileHierarchy.daml#"/>
</daml:Ontology>
										
<!-- Service description -->

<service:Service rdf:ID="PharmacyLocatorService">
  <service:presents rdf:resource="#PharmacyLocatorProfile" />
  
  <service:describedBy rdf:resource="#PharmacyLocatorProcessModel" /> 
  
  <service:supports rdf:resource="#PharmacyLocatorGrounding" />
</service:Service>

<!-- Profile description -->

    <profileHierarchy:HealthService rdf:ID="PharmacyLocatorProfile">
      <service:isPresentedBy rdf:resource="#PharmacyLocatorService"/>

      <profile:serviceName>CVS Pharmacy Locator</profile:serviceName>
      <profile:textDescription>
      </profile:textDescription>

      <profile:has_process rdf:resource="#convertCurrency"/>

      <profile:input> 
        <profile:ParameterDescription rdf:ID="Medicine"> 
          <profile:parameterName>Medicine</profile:parameterName>
          <profile:restrictedTo rdf:resource="http://www.mindswap.org/2002/services/concepts.daml#Medicine"/>
          <profile:refersTo rdf:resource="#bookISBN"/>
        </profile:ParameterDescription>
      </profile:input>

      <profile:input> 
        <profile:ParameterDescription rdf:ID="ZipCode"> 
          <profile:parameterName>ZipCode</profile:parameterName>
          <profile:restrictedTo rdf:resource="http://www.mindswap.org/2002/services/concepts.daml#ZipCode"/>
          <profile:refersTo rdf:resource="#bookISBN2"/>
        </profile:ParameterDescription>
      </profile:input>

      <profile:output> 
      	<profile:ParameterDescription rdf:ID="PharmacyLocation"> 
          <profile:parameterName>Pharmacy Location</profile:parameterName>
          <profile:restrictedTo rdf:resource="http://www.flacp.fujitsulabs.com/~mhgrove/services/contactOnt.daml#Address"/>
          <profile:refersTo rdf:resource="#bookPrice"/>
      	</profile:ParameterDescription>
      </profile:output>
    </profileHierarchy:HealthService>

<!-- Process Model description -->

<process:ProcessModel rdf:ID="PharmacyLocatorProcessModel">
  <service:describes rdf:resource="#PharmacyLocatorService" /> 
  <process:hasProcess rdf:resource="#FindPharmacyPrice" /> 
</process:ProcessModel>

<daml:Class rdf:ID="FindPharmacyPrice">
  <rdfs:subClassOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#AtomicProcess" /> 
  <rdfs:subClassOf>
    <daml:Restriction daml:cardinality="1">
      <daml:onProperty rdf:resource="#bookISBN" /> 
    </daml:Restriction>
  </rdfs:subClassOf>
</daml:Class>

<rdf:Property rdf:ID="bookISBN">
  <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> 
  <rdfs:domain rdf:resource="#FindPharmacyPrice" /> 
  <rdfs:range rdf:resource="http://www.mindswap.org/2002/services/concepts.daml#Medicine" /> 
</rdf:Property>

<rdf:Property rdf:ID="bookISBN2">
  <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> 
  <rdfs:domain rdf:resource="#FindPharmacyPrice" /> 
  <rdfs:range rdf:resource="http://www.mindswap.org/2002/services/concepts.daml#ZipCode" /> 
</rdf:Property>

<rdf:Property rdf:ID="bookPrice">
  <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#output" /> 
  <rdfs:domain rdf:resource="#FindPharmacyPrice" /> 
  <rdfs:range rdf:resource="http://www.flacp.fujitsulabs.com/~mhgrove/services/contactOnt.daml#Address" /> 
</rdf:Property>

<!-- Grounding description -->

<grounding:WsdlGrounding rdf:ID="PharmacyLocatorGrounding">
  <service:supportedBy rdf:resource="#PharmacyLocatorService" /> 
  <grounding:hasAtomicProcessGrounding rdf:resource="#PharmacyLocatorProcessGrounding" /> 
</grounding:WsdlGrounding> 

<grounding:WsdlAtomicProcessGrounding rdf:ID="PharmacyLocatorProcessGrounding">
      <grounding:damlsProcess rdf:resource="#FindPharmacyPrice"/>
      <grounding:wsdlOperation rdf:resource="http://www.mindswap.org/2002/services/PharmacyLocator.wsdl#findPharmacy"/>
    
      <grounding:wsdlInputMessage rdf:resource="http://www.mindswap.org/2002/services/PharmacyLocator.wsdl#convertPriceRequest"/>
      <grounding:wsdlInputMessageParts rdf:parseType="Collection">
    	<grounding:wsdlMessageMap>
	  <grounding:damlsParameter rdf:resource="#bookISBN"/>
	  <grounding:wsdlMessagePart
            rdf:resource="http://www.mindswap.org/2002/services/PharmacyLocator.wsdl#in0"/>
    	</grounding:wsdlMessageMap>
    	<grounding:wsdlMessageMap>
	  <grounding:damlsParameter rdf:resource="#bookISBN2"/>
	  <grounding:wsdlMessagePart
            rdf:resource="http://www.mindswap.org/2002/services/PharmacyLocator.wsdl#in1"/>
    	</grounding:wsdlMessageMap>
      </grounding:wsdlInputMessageParts>
    
      <grounding:wsdlOutputMessage rdf:resource="http://www.mindswap.org/2002/services/PharmacyLocator.wsdl#convertPriceResponse"/>
      <grounding:wsdlOutputMessageParts rdf:parseType="Collection">
    	<grounding:wsdlMessageMap>
	  <grounding:damlsParameter rdf:resource="#bookPrice"/>
	  <grounding:wsdlMessagePart
            rdf:resource="http://www.mindswap.org/2002/services/PharmacyLocator.wsdl#return"/>
      <fla:xsltTransformation rdf:parseType="Literal">
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:co="http://www.flacp.fujitsulabs.com/~mhgrove/services/contactOnt.daml">

<xsl:template match="/return">
<rdf:RDF
xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:co="http://www.flacp.fujitsulabs.com/~mhgrove/services/contactOnt.daml#"
>

    <co:Address>
      <co:StreetAddress><xsl:value-of select="address/street"/></co:StreetAddress>
      <co:City><xsl:value-of select="address/city"/></co:City>
      <co:State><xsl:value-of select="address/state"/></co:State>
      <co:ZipCode><xsl:value-of select="address/zipCode"/></co:ZipCode>
    </co:Address>


</rdf:RDF>

</xsl:template>

</xsl:stylesheet>
      </fla:xsltTransformation>
    	</grounding:wsdlMessageMap>
      </grounding:wsdlOutputMessageParts>
    
      <grounding:wsdlReference>http://www.w3.org/TR/2001/NOTE-wsdl-20010315</grounding:wsdlReference>
      <grounding:otherReference>http://www.w3.org/TR/2001/NOTE-wsdl-20010315 http://schemas.xmlsoap.org/wsdl/soap/ http://schemas.xmlsoap.org/soap/http/</grounding:otherReference>
      <grounding:wsdlDocument>http://www.mindswap.org/2002/services/PharmacyLocator.wsdl</grounding:wsdlDocument>
</grounding:WsdlAtomicProcessGrounding>

</rdf:RDF>
