<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://www.isotc211.org/2005/gco" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml"> <!-- ================================= Annotation ================================ --> <xs:annotation> <xs:documentation>This schema provides: 1. tools to handle specific objects like "code lists" and "record"; 2. Some XML types representing that do not follow the general encoding rules.</xs:documentation> </xs:annotation> <!-- ================================== Imports ================================== --> <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlinks.xsd"/> <xs:import namespace="http://www.opengis.net/gml" schemaLocation="gml.xsd"/> <!-- ########################################################################### --> <!-- ########################################################################### --> <!-- =========================================================================== --> <!-- ========================= IM_Object: abstract Root ============================= --> <!--================= Type ===================--> <xs:complexType name="AbstractObject_Type" abstract="true"> <xs:sequence/> <xs:attributeGroup ref="gco:ObjectIdentification"/> </xs:complexType> <!--================= Element =================--> <xs:element name="AbstractObject" type="gco:AbstractObject_Type" abstract="true"/> <!-- ========================================================================== --> <!-- ====================== Reference of a resource =============================== --> <!--The following attributeGroup 'extends' the GML gml:AssociationAttributeGroup--> <xs:attributeGroup name="ObjectReference"> <xs:attributeGroup ref="xlink:simpleLink"/> <xs:attribute name="uuidref" type="xs:string"/> </xs:attributeGroup> <!--================== NULL ====================--> <xs:attribute name="nilReason" type="gml:NilReasonType"/> <!--=============== PropertyType =================--> <xs:complexType name="ObjectReference_PropertyType"> <xs:sequence/> <xs:attributeGroup ref="gco:ObjectReference"/> <xs:attribute ref="gco:nilReason"/> </xs:complexType> <!-- ========================================================================== --> <!-- ====================== Identification of a resource ============================== --> <xs:attributeGroup name="ObjectIdentification"> <xs:attribute name="id" type="xs:ID"/> <xs:attribute name="uuid" type="xs:string"/> </xs:attributeGroup> <!-- ========================================================================== --> <!-- ====================== The CodeList prototype ================================= --> <!--It is used to refer to a specific codeListValue in a register--> <!--================= Type ==================--> <xs:complexType name="CodeListValue_Type"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="codeList" type="xs:anyURI" use="required"/> <xs:attribute name="codeListValue" type="xs:anyURI" use="required"/> <xs:attribute name="codeSpace" type="xs:anyURI"/> </xs:extension> </xs:simpleContent> </xs:complexType> <!-- ========================================================================== --> <!-- ========================== The isoType attribute ============================== --> <xs:attribute name="isoType" type="xs:string"/> <!--==============End================--> </xs:schema>