Listing 1
<?xml version="1.0" encoding="UTF-8" ?>
- <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2000/10/XMLSchema#"
xmlns:daml="http://www.daml.org/2001/03/daml+oil#">
- <daml:Ontology rdf:about="">
<dc:date>Dec 11, 2002 7:56 AM</dc:date>
<dc:creator />
<dc:description />
<daml:imports rdf:resource=
"http://www.daml.org/2001/03/daml+oil" />
</daml:Ontology>
- <daml:Class rdf:ID="IncomeTax">
<rdfs:label>IncomeTax</rdfs:label>
</daml:Class>
- <daml:Class rdf:ID="Jurisdiction">
<rdfs:label>Jurisdiction</rdfs:label>
</daml:Class>
- <daml:Class rdf:ID="MonetarySum">
<rdfs:label>MonetarySum</rdfs:label>
</daml:Class>
- <daml:Class rdf:ID="Municipality">
<rdfs:label>Municipality</rdfs:label>
</daml:Class>
- <daml:Class rdf:ID="Rate">
<rdfs:label>Rate</rdfs:label>
</daml:Class>
- <daml:Class rdf:ID="SalesTax">
<rdfs:label>SalesTax</rdfs:label>
</daml:Class>
- <daml:Class rdf:ID="State">
<rdfs:label>State</rdfs:label>
</daml:Class>
- <daml:Class rdf:ID="Tax">
<rdfs:label>Tax</rdfs:label>
</daml:Class>
- <daml:Class rdf:ID="ZipCode">
<rdfs:label>ZipCode</rdfs:label>
</daml:Class>
- <daml:ObjectProperty rdf:ID="Tax.amount">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#Tax" />
<rdfs:domain rdf:resource="#IncomeTax" />
<rdfs:domain rdf:resource="#SalesTax" />
<rdfs:range rdf:resource="#MonetarySum" />
</daml:ObjectProperty>
- <daml:Class rdf:about="#Tax">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#Tax.amount" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#Tax">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#Tax.amount" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:DatatypeProperty rdf:ID="MonetarySum.currencyType">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#MonetarySum" />
<rdfs:range rdf:resource=
"http://www.w3.org/2000/10/XMLSchema#string" />
</daml:DatatypeProperty>
- <daml:Class rdf:about="#MonetarySum">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#MonetarySum.currencyType" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#MonetarySum">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#MonetarySum.currencyType" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:DatatypeProperty rdf:ID="ZipCode.fiveDigit">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#ZipCode" />
<rdfs:range rdf:resource=
"http://www.w3.org/2000/10/XMLSchema#string" />
</daml:DatatypeProperty>
- <daml:Class rdf:about="#ZipCode">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#ZipCode.fiveDigit" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#ZipCode">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#ZipCode.fiveDigit" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:ObjectProperty rdf:ID="Tax.gross">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#Tax" />
<rdfs:domain rdf:resource="#IncomeTax" />
<rdfs:domain rdf:resource="#SalesTax" />
<rdfs:range rdf:resource="#MonetarySum" />
</daml:ObjectProperty>
- <daml:Class rdf:about="#Tax">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#Tax.gross" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#Tax">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#Tax.gross" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:ObjectProperty rdf:ID="Tax.jurisdiction">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#Tax" />
<rdfs:domain rdf:resource="#IncomeTax" />
<rdfs:domain rdf:resource="#SalesTax" />
<rdfs:range rdf:resource="#Jurisdiction" />
</daml:ObjectProperty>
- <daml:Class rdf:about="#Tax">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#Tax.jurisdiction" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#Tax">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#Tax.jurisdiction" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:DatatypeProperty rdf:ID="Rate.multiplier">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#Rate" />
<rdfs:range rdf:resource=
"http://www.w3.org/2000/10/XMLSchema#decimal" />
</daml:DatatypeProperty>
- <daml:Class rdf:about="#Rate">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#Rate.multiplier" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#Rate">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#Rate.multiplier" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:DatatypeProperty rdf:ID="ZipCode.nineDigit">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#ZipCode" />
<rdfs:range rdf:resource=
"http://www.w3.org/2000/10/XMLSchema#string" />
</daml:DatatypeProperty>
- <daml:Class rdf:about="#ZipCode">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#ZipCode.nineDigit" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#ZipCode">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#ZipCode.nineDigit" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:DatatypeProperty rdf:ID="Rate.percentage">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#Rate" />
<rdfs:range rdf:resource=
"http://www.w3.org/2000/10/XMLSchema#decimal" />
</daml:DatatypeProperty>
- <daml:Class rdf:about="#Rate">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#Rate.percentage" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#Rate">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#Rate.percentage" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:DatatypeProperty rdf:ID="MonetarySum.quantity">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#MonetarySum" />
<rdfs:range rdf:resource=
"http://www.w3.org/2000/10/XMLSchema#decimal" />
</daml:DatatypeProperty>
- <daml:Class rdf:about="#MonetarySum">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#MonetarySum.quantity" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#MonetarySum">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#MonetarySum.quantity" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:ObjectProperty rdf:ID="Tax.rate">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#Tax" />
<rdfs:domain rdf:resource="#IncomeTax" />
<rdfs:domain rdf:resource="#SalesTax" />
<rdfs:range rdf:resource="#Rate" />
</daml:ObjectProperty>
- <daml:Class rdf:about="#Tax">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#Tax.rate" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#Tax">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#Tax.rate" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:ObjectProperty rdf:ID="Jurisdiction.zipCodes">
<rdfs:domain rdf:resource="#Jurisdiction" />
<rdfs:domain rdf:resource="#Municipality" />
<rdfs:domain rdf:resource="#State" />
<rdfs:range rdf:resource="#ZipCode" />
</daml:ObjectProperty>
- <daml:Class rdf:about="#Jurisdiction">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="1">
<daml:onProperty rdf:resource="#Jurisdiction.zipCodes" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:DatatypeProperty rdf:ID="MonetarySum.unit~2">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#MonetarySum" />
<rdfs:range rdf:resource=
"http://www.w3.org/2000/10/XMLSchema#string" />
</daml:DatatypeProperty>
- <daml:Class rdf:about="#MonetarySum">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#MonetarySum.unit~2" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#MonetarySum">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#MonetarySum.unit~2" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:ObjectProperty rdf:ID="Jurisdiction.city~2">
<rdf:type rdf:resource=
"http://www.daml.org/2001/03/daml+oil#UniqueProperty" />
<rdfs:domain rdf:resource="#Jurisdiction" />
<rdfs:domain rdf:resource="#Municipality" />
<rdfs:domain rdf:resource="#State" />
<rdfs:range rdf:resource="#Municipality" />
</daml:ObjectProperty>
- <daml:Class rdf:about="#Jurisdiction">
- <rdfs:subClassOf>
- <daml:Restriction daml:minCardinality="0">
<daml:onProperty rdf:resource="#Jurisdiction.city~2" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#Jurisdiction">
- <rdfs:subClassOf>
- <daml:Restriction daml:maxCardinality="1">
<daml:onProperty rdf:resource="#Jurisdiction.city~2" />
</daml:Restriction>
</rdfs:subClassOf>
</daml:Class>
- <daml:Class rdf:about="#IncomeTax">
<rdfs:subClassOf rdf:resource="#Tax" />
</daml:Class>
- <daml:Class rdf:about="#SalesTax">
<rdfs:subClassOf rdf:resource="#Tax" />
</daml:Class>
- <daml:Class rdf:about="#Municipality">
<rdfs:subClassOf rdf:resource="#Jurisdiction" />
</daml:Class>
- <daml:Class rdf:about="#State">
<rdfs:subClassOf rdf:resource="#Jurisdiction" />
</daml:Class>
</rdf:RDF>
Listing 2: WSDL File
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:finance="http://www.financialexample.com/TaxService/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://www.financialexample.com/TaxService/">
<types>
<s:schema targetNamespace=
"http://www.financialexample.com/TaxService/"
elementFormDefault="qualified">
<s:complexType name="Tax">
<s:sequence>
<s:element name="tax" type="s:float"/>
<s:element name="rate" type="s:float"/>
</s:sequence>
</s:complexType>
<s:complexType name="GrossPayment">
<s:sequence>
<s:element name="amount" type="s:float"/>
<s:element name="zip" type="s:string"/>
</s:sequence>
</s:complexType>
</s:schema>
</types>
<message name="calculateTaxIn">
<part name="Body" type="finance:GrossPayment"/>
</message>
<message name="calculateTaxOut">
<part name="Body" type="finance:Tax"/>
</message>
<portType name="TaxServiceSoap">
<operation name="calculateTax">
<input message="finance:calculateTaxIn"/>
<output message="finance:calculateTaxOut"/>
</operation>
</portType>
<binding name="TaxServiceSoap" type="finance:TaxServiceSoap">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="calculateTax">
<soap:operation soapAction=
"http://www.financialexample.com/TaxService/calculateTax"
style="document"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="TaxService">
<documentation>A sample Time service</documentation>
<port name="TaxServiceSoap" binding="finance:TaxServiceSoap">
<soap:address location=
"http://www.financialexample.com/TaxService/TaxService.jsp"/>
</port>
</service>
</definitions>