<?xml version="1.0" ?>
<rdf:RDF
xmlns:owl="http://www.w3.org/2002/07/owl#"
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: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:grounding="http://www.daml.org/services/daml-s/0.7/Grounding.daml#"
xmlns:xsd="http://www.w3.org/2000/10/XMLschema.xsd#"
xmlns:xsdley="http://www.w3.org/2000/10/XMLSchema#"
xmlns:fla="http://www.flacp.fujitsulabs.com/~mhgrove/services/FLACP-ServiceOnt.daml#" 
>

<rdf:Property rdf:ID="returnProcess">
  <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#output"/>
  <rdfs:range rdf:resource="http://www.flacp.fujitsulabs.com/~mhgrove/services/contactOnt.daml#Address"/>
  <rdfs:domain rdf:resource="#getAddressProcess"/>
</rdf:Property>

<rdfs:Class rdf:ID="getAddressProcess">
  <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="#addressName" /> 
      <daml:hasValue parseType="Literal">iad</daml:hasValue>
    </daml:Restriction>
  </rdfs:subClassOf>  
</rdfs:Class>

<rdf:Property rdf:ID="addressName">
  <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> 
  <rdfs:domain rdf:resource="#getAddressProcess" /> 
  <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
</rdf:Property>

<grounding:WsdlAtomicProcessGrounding rdf:ID="getAddressProcessGrounding">
  <grounding:damlsProcess rdf:resource="#getAddressProcess"/>
  <grounding:wsdlReference>http://www.w3.org/TR/2001/NOTE-wsdl-20010315</grounding:wsdlReference>
  <grounding:wsdlDocument>http://www.mindswap.org/2002/services/AddressProvider.wsdl</grounding:wsdlDocument>
  <grounding:wsdlOperation rdf:resource="getAddress"/>

  <grounding:wsdlInputMessage rdf:resource="getAddressRequest"/>
  <grounding:wsdlInputMessageParts rdf:parseType="daml:collection">
	<grounding:wsdlMessageMap>
      <grounding:damlsParameter rdf:resource="#addressName"/>
      <grounding:wsdlMessagePart rdf:resource="name"/>
    </grounding:wsdlMessageMap>
  </grounding:wsdlInputMessageParts>

  <grounding:wsdlOutputMessage rdf:resource="getAddressResponse"/>
  <grounding:wsdlOutputMessageParts rdf:parseType="daml:collection">
    <grounding:WsdlMessageMap>
      <grounding:wsdlMessagePart rdf:resource="return"/>
      <grounding:damlsParameter rdf:resource="#returnProcess"/>
      <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="street"/></co:StreetAddress>
      <co:City><xsl:value-of select="city"/></co:City>
      <co:State><xsl:value-of select="state"/></co:State>
      <co:ZipCode><xsl:value-of select="zipCode"/></co:ZipCode>
    </co:Address>


</rdf:RDF>

</xsl:template>

</xsl:stylesheet>
      </fla:xsltTransformation>
    </grounding:WsdlMessageMap>
  </grounding:wsdlOutputMessageParts>
  <grounding:wsdlOutputMessage rdf:resource="getAddressResponse"/>
  <grounding:wsdlInputMessageParts rdf:parseType="daml:collection">
  </grounding:wsdlInputMessageParts>
</grounding:WsdlAtomicProcessGrounding>

<service:Service rdf:ID="getAddressService">
<service:describedBy rdf:resource="#getAddressProcessModel"/>
  <service:presents rdf:resource="#getAddressProfile"/>
  <service:supports rdf:resource="#getAddressGrounding"/>
</service:Service>

<process:ProcessModel rdf:ID="getAddressProcessModel">
  <process:hasProcess rdf:resource="#getAddressProcess"/>
  <service:describes rdf:resource="#getAddressService"/>
</process:ProcessModel>

<grounding:WsdlGrounding rdf:ID="getAddressGrounding">
  <grounding:hasAtomicProcessGrounding rdf:resource="#getAddressProcessGrounding"/>
  <service:supportedBy rdf:resource="#getAddressService"/>
</grounding:WsdlGrounding>

<profile:Profile rdf:ID="getAddressProfile">
  <profile:output>
    <profile:ParameterDescription rdf:ID="returnProfile">
      <profile:parameterName>Address</profile:parameterName>
      <profile:restrictedTo rdf:resource="http://www.flacp.fujitsulabs.com/~mhgrove/services/contactOnt.daml#Address"/>
      <profile:refersTo rdf:resource="#returnProcess"/>
    </profile:ParameterDescription>
  </profile:output>
  <profile:serviceName>Address: BWI Airport</profile:serviceName>
  <profile:textDescription>Auto generated from file:/C:/Fujitsu/services/FLAAddressProvider.wsdl</profile:textDescription>
  <service:isPresentedBy rdf:resource="#getAddressService"/>
</profile:Profile>

</rdf:RDF>

