<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.isotc211.org/2005/srv" elementFormDefault="qualified" version="0.1"> <!-- ================================= Annotation ================================ --> <xs:annotation> <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 11-15-2006 15:33:57 ====== </xs:documentation> </xs:annotation> <!-- ================================== Imports ================================== --> <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/> <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/> <xs:include schemaLocation="../srv/serviceMetadata.xsd"/> <!-- ########################################################################### --> <!-- ########################################################################### --> <!-- ================================== Classes ================================= --> <xs:complexType name="SV_ServiceSpecification_Type"> <xs:complexContent> <xs:extension base="srv:AbstractSV_AbstractServiceSpecification_Type"> <xs:sequence> <xs:element name="typeSpec" type="srv:SV_PlatformNeutralServiceSpecification_PropertyType" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="SV_ServiceSpecification" type="srv:SV_ServiceSpecification_Type" substitutionGroup="srv:AbstractSV_AbstractServiceSpecification"/> <!-- ........................................................................ --> <xs:complexType name="SV_ServiceSpecification_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_ServiceSpecification"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:complexType name="SV_PlatformNeutralServiceSpecification_Type"> <xs:complexContent> <xs:extension base="srv:AbstractSV_AbstractServiceSpecification_Type"> <xs:sequence> <xs:element name="serviceType" type="srv:SV_ServiceType_PropertyType"/> <xs:element name="implSpec" type="srv:SV_PlatformSpecificServiceSpecification_PropertyType" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="SV_PlatformNeutralServiceSpecification" type="srv:SV_PlatformNeutralServiceSpecification_Type" substitutionGroup="srv:AbstractSV_AbstractServiceSpecification"/> <!-- ........................................................................ --> <xs:complexType name="SV_PlatformNeutralServiceSpecification_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_PlatformNeutralServiceSpecification"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:complexType name="SV_PlatformSpecificServiceSpecification_Type"> <xs:complexContent> <xs:extension base="srv:AbstractSV_AbstractServiceSpecification_Type"> <xs:sequence> <xs:element name="DCP" type="srv:DCPList_PropertyType"/> <xs:element name="typeSpec" type="srv:SV_PlatformNeutralServiceSpecification_PropertyType"/> <xs:element name="implementation" type="srv:SV_Service_PropertyType" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="SV_PlatformSpecificServiceSpecification" type="srv:SV_PlatformSpecificServiceSpecification_Type" substitutionGroup="srv:AbstractSV_AbstractServiceSpecification"/> <!-- ........................................................................ --> <xs:complexType name="SV_PlatformSpecificServiceSpecification_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_PlatformSpecificServiceSpecification"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:complexType name="SV_Port_Type"> <xs:complexContent> <xs:extension base="gco:AbstractObject_Type"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="SV_Port" type="srv:SV_Port_Type"/> <!-- ........................................................................ --> <xs:complexType name="SV_Port_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_Port"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:complexType name="SV_Service_Type"> <xs:complexContent> <xs:extension base="gco:AbstractObject_Type"> <xs:sequence> <xs:element name="specification" type="srv:SV_PlatformSpecificServiceSpecification_PropertyType" maxOccurs="unbounded"/> <xs:element name="theSV_Port" type="srv:SV_Port_PropertyType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="SV_Service" type="srv:SV_Service_Type"/> <!-- ........................................................................ --> <xs:complexType name="SV_Service_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_Service"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:complexType name="SV_Interface_Type"> <xs:complexContent> <xs:extension base="gco:AbstractObject_Type"> <xs:sequence> <xs:element name="typeName" type="gco:TypeName_PropertyType"/> <xs:element name="operation" type="srv:SV_Operation_PropertyType"/> <xs:element name="theSV_PortSpecification" type="srv:SV_PortSpecification_PropertyType" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="SV_Interface" type="srv:SV_Interface_Type"/> <!-- ........................................................................ --> <xs:complexType name="SV_Interface_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_Interface"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:complexType name="SV_Operation_Type"> <xs:complexContent> <xs:extension base="gco:AbstractObject_Type"> <xs:sequence> <xs:element name="operationName" type="gco:MemberName_PropertyType"/> <xs:element name="dependsOn" type="srv:SV_Operation_PropertyType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="parameter" type="srv:SV_Parameter_PropertyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="SV_Operation" type="srv:SV_Operation_Type"/> <!-- ........................................................................ --> <xs:complexType name="SV_Operation_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_Operation"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:complexType name="AbstractSV_AbstractServiceSpecification_Type" abstract="true"> <xs:complexContent> <xs:extension base="gco:AbstractObject_Type"> <xs:sequence> <xs:element name="name" type="gco:CharacterString_PropertyType"/> <xs:element name="opModel" type="srv:SV_OperationModel_PropertyType"/> <xs:element name="theSV_Interface" type="srv:SV_Interface_PropertyType" maxOccurs="unbounded"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="AbstractSV_AbstractServiceSpecification" type="srv:AbstractSV_AbstractServiceSpecification_Type" abstract="true"/> <!-- ........................................................................ --> <xs:complexType name="SV_AbstractServiceSpecification_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:AbstractSV_AbstractServiceSpecification"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:complexType name="SV_PortSpecification_Type"> <xs:complexContent> <xs:extension base="gco:AbstractObject_Type"> <xs:sequence> <xs:element name="binding" type="srv:DCPList_PropertyType"/> <xs:element name="address" type="gmd:URL_PropertyType"/> <xs:element name="theSV_Port" type="srv:SV_Port_PropertyType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <!-- ........................................................................ --> <xs:element name="SV_PortSpecification" type="srv:SV_PortSpecification_Type"/> <!-- ........................................................................ --> <xs:complexType name="SV_PortSpecification_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_PortSpecification"/> </xs:sequence> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <xs:simpleType name="SV_OperationModel_Type"> <xs:restriction base="xs:string"> <xs:enumeration value="object"/> <xs:enumeration value="message"/> </xs:restriction> </xs:simpleType> <!-- ........................................................................ --> <xs:element name="SV_OperationModel" type="srv:SV_OperationModel_Type" substitutionGroup="gco:CharacterString"/> <!-- ........................................................................ --> <xs:complexType name="SV_OperationModel_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_OperationModel"/> </xs:sequence> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> <!-- ........................................................................ --> <xs:element name="SV_ServiceType" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/> <!-- ........................................................................ --> <xs:complexType name="SV_ServiceType_PropertyType"> <xs:sequence minOccurs="0"> <xs:element ref="srv:SV_ServiceType"/> </xs:sequence> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- =========================================================================== --> </xs:schema>