Author: markus Date: 2006-05-16 11:17:45 +0200 (Tue, 16 May 2006) New Revision: 529
Modified: trunk/protocol/tapir.xsd Log: representing related entities in metadata with the help of georss and vcard.
Modified: trunk/protocol/tapir.xsd =================================================================== --- trunk/protocol/tapir.xsd 2006-05-16 08:56:41 UTC (rev 528) +++ trunk/protocol/tapir.xsd 2006-05-16 09:17:45 UTC (rev 529) @@ -1,6 +1,5 @@ <?xml version="1.0"?> <!-- $Id$ --> -<!-- unified and extended protocol based on DiGIR and BioCASE --> <xsd:schema targetNamespace="http://res.tdwg.org/tapir/1.0" xmlns="http://res.tdwg.org/tapir/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" @@ -12,11 +11,13 @@ attributeFormDefault="unqualified" version="1.0" xml:lang="EN" > xsd:annotation <xsd:documentation xml:lang="en"> - TAPIR XML Schema + TAPIR XML Schema. + A unified and extended protocol based on DiGIR and BioCASE. </xsd:documentation> xsd:appinfo dc:titleTAPIR XML Schema</dc:title> - dc:creatorTDWG</dc:creator> + dc:creatorMarkus Döring [m.doering@bgbm.org]</dc:creator> + dc:creatorRenato De Giovanni [renato@cria.org.br]</dc:creator> dc:relationhttp://ww3.bgbm.org/protocolwiki</dc:relation> </xsd:appinfo> </xsd:annotation> @@ -24,8 +25,7 @@ <!-- NAMESPACE IMPORTS --> <!-- ============================================= --> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/03/xml.xsd%22%3E - </xsd:import> + schemaLocation="http://www.w3.org/2001/03/xml.xsd%22/%3E <xsd:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="http://www.dublincore.org/schemas/xmls/simpledc20021212.xsd%22/%3E <xsd:import namespace="http://purl.org/dc/terms/" @@ -1411,34 +1411,7 @@ xsd:documentationGlobal element to validate external metadata XML files.</xsd:documentation> </xsd:annotation> - <xsd:unique name="meta_label_lang"> - <xsd:selector xpath="label"/> - <xsd:field xpath="@lang"/> - </xsd:unique> - <xsd:unique name="meta_abstract_lang"> - <xsd:selector xpath="abstract"/> - <xsd:field xpath="@lang"/> - </xsd:unique> - <xsd:unique name="meta_keywords_lang"> - <xsd:selector xpath="keywords"/> - <xsd:field xpath="@lang"/> - </xsd:unique> - <xsd:unique name="meta_citation_lang"> - <xsd:selector xpath="citation"/> - <xsd:field xpath="@lang"/> - </xsd:unique> - <xsd:unique name="meta_rights_lang"> - <xsd:selector xpath="rights"/> - <xsd:field xpath="@lang"/> - </xsd:unique> </xsd:element> - <xsd:element name="entity" type="entityInformationType"> - xsd:annotation - xsd:documentationGlobal element to validate external XML representations of entities. - An entity here could be a company, organisation, institution, or - person.</xsd:documentation> - </xsd:annotation> - </xsd:element> <xsd:complexType name="metadataResultType"> xsd:annotation xsd:documentationFormat of metadata operation result.</xsd:documentation> @@ -1508,33 +1481,21 @@ <xsd:element ref="custom"/> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="contactInformationType"> + <xsd:complexType name="relatedEntityInformationType"> xsd:annotation - xsd:documentationContact information.</xsd:documentation> + xsd:documentationInformation about an entity that may have some relationship with the + service being provided.</xsd:documentation> </xsd:annotation> xsd:sequence - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="title" type="languageAwareElementType" minOccurs="0"/> - <xsd:element name="email" type="xsd:string"/> - <xsd:element name="phone" type="xsd:string" minOccurs="0"/> - <xsd:element name="role" type="contactRoleExtensionType" maxOccurs="unbounded"> + <xsd:element name="role" type="entityRoleExtensionType" maxOccurs="unbounded"> xsd:annotation - xsd:documentationUsed to specify the roles of a contact, such as "data - administrator", "system administrator", etc.</xsd:documentation> + xsd:documentationUsed to specify the roles of a related entity, such as "data + supplier", "technical host", etc.</xsd:documentation> </xsd:annotation> </xsd:element> + <xsd:element name="entity" type="entityInformationType"/> </xsd:sequence> - <xsd:attribute ref="lang"/> </xsd:complexType> - <xsd:simpleType name="contactRoleType"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="data administrator"/> - <xsd:enumeration value="system administrator"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="contactRoleExtensionType"> - <xsd:union memberTypes="contactRoleType xsd:string"/> - </xsd:simpleType> <xsd:simpleType name="entityRoleType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="data supplier"/> @@ -1544,6 +1505,22 @@ <xsd:simpleType name="entityRoleExtensionType"> <xsd:union memberTypes="entityRoleType xsd:string"/> </xsd:simpleType> + <xsd:element name="entity" type="entityInformationType"> + xsd:annotation + xsd:documentationGlobal element to validate external XML representations of entities. + An entity here could be a company, organisation, institution, or + person.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:simpleType name="contactRoleType"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="data administrator"/> + <xsd:enumeration value="system administrator"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="contactRoleExtensionType"> + <xsd:union memberTypes="contactRoleType xsd:string"/> + </xsd:simpleType> <xsd:complexType name="entityInformationType"> xsd:annotation xsd:documentationEntity information.</xsd:documentation> @@ -1583,37 +1560,23 @@ specified URL.</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="contact" type="contactInformationType" maxOccurs="unbounded"/> - <xsd:element name="geoLocation" type="geoLocationType" minOccurs="0"/> + <xsd:element name="hasContact" maxOccurs="unbounded"> + xsd:complexType + xsd:sequence + <xsd:element name="role" type="contactRoleExtensionType" maxOccurs="unbounded" /> + <xsd:element ref="vcard:VCARD"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element ref="georss:where" minOccurs="0"> + xsd:annotation + xsd:documentationLocation of the entity in decimal WGS84 latitude and longitude as defined by GeoRSS/GML</xsd:documentation> + </xsd:annotation> + </xsd:element> <xsd:element ref="custom"/> </xsd:sequence> <xsd:attribute ref="lang"/> </xsd:complexType> - <xsd:complexType name="relatedEntityInformationType"> - xsd:annotation - xsd:documentationInformation about an entity that may have some relationship with the - service being provided.</xsd:documentation> - </xsd:annotation> - xsd:complexContent - <xsd:extension base="entityInformationType"> - xsd:sequence - <xsd:element name="role" type="entityRoleExtensionType" maxOccurs="unbounded"> - xsd:annotation - xsd:documentationUsed to specify the roles of a related entity, such as "data - supplier", "technical host", etc.</xsd:documentation> - </xsd:annotation> - </xsd:element> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="geoLocationType"> - xsd:annotation - xsd:documentationDecimal coordinates in WGS84.</xsd:documentation> - </xsd:annotation> - <xsd:attribute name="lat" type="xsd:double" use="required"/> - <xsd:attribute name="long" type="xsd:double" use="required"/> - </xsd:complexType> <!-- ===== INVENTORY===== --> <xsd:complexType name="inventoryResultType"> xsd:annotation