Back to Home

POI-Scheme

This document contains the schema files that define the structure below the content element. It does not describe the general part of the atom specification

poi_api_interface.xsd

poi_api_interface.xsd  Expand source

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    
        <!--
            The schema is specifying the XML structure of the poi api interface
            starting with the content element. The feed specific part are not
            described here. copyright: Copyright (c) 2010</br> 
            company: MAIRDUMONT GmbH & Co. KG </br> author: Jochen Weber
            <br> created 12.03.2010
        -->
    
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:geo="http://api.123poi.com/geo/" xmlns:poi="http://api.123poi.com/poi/"
        xmlns:user="http://api.123poi.com/user/" xmlns:data="http://api.123poi.com/data/"
        elementFormDefault="qualified">
    
        <xs:import namespace="http://api.123poi.com/poi/"
            schemaLocation="poi_api_poi.xsd" />
        <xs:import namespace="http://api.123poi.com/user/"
            schemaLocation="poi_api_user.xsd" />
        <xs:import namespace="http://api.123poi.com/data/"
            schemaLocation="poi_api_data.xsd" />
    
        <xs:element name="content">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:poi" minOccurs="0" maxOccurs="unbounded" />
                    <xs:element ref="poi:cluster" minOccurs="0" maxOccurs="unbounded" />
                </xs:sequence>
                <xs:attribute ref="type" />
            </xs:complexType>
        </xs:element>
    
        <xs:simpleType name="contentType">
            <xs:restriction base="xs:string">
                <xs:enumeration value="application/xml" />
            </xs:restriction>
        </xs:simpleType>
    
        <xs:attribute name="type" type="contentType" />
    </xs:schema>

poi_api_poi.xsd

poi_api_poi.xsd  Expand source

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    
    <!--
      The schema is specifying the namespace poi
      
      copyright: Copyright (c) 2010
      company: MAIRDUMONT GmbH & Co. KG
      
      
      author: Jochen Weber
      created 12.03.2010
      -->
    
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://api.123poi.com/poi/" 
        xmlns:poi="http://api.123poi.com/poi/" 
        xmlns:geo="http://api.123poi.com/geo/" 
        xmlns:user="http://api.123poi.com/user/" 
        xmlns:media="http://api.123poi.com/media/" 
        xmlns:data="http://api.123poi.com/data/" 
        elementFormDefault="qualified">
        
        <xs:import namespace="http://api.123poi.com/geo/" schemaLocation="poi_api_geo.xsd"/>
        <xs:import namespace="http://api.123poi.com/user/" schemaLocation="poi_api_user.xsd"/>
        <xs:import namespace="http://api.123poi.com/media/" schemaLocation="poi_api_media.xsd"/>
        <xs:import namespace="http://api.123poi.com/data/" schemaLocation="poi_api_data.xsd"/>
        
        <xs:element name="poi">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:id" minOccurs="1"/>
                    <xs:element ref="poi:title" minOccurs="1"/>
                    <xs:element ref="poi:summary" minOccurs="1"/>
                    <xs:element ref="poi:creationDate" minOccurs="0"/>
                    <xs:element ref="poi:lastUpdate" minOccurs="0"/>
                    <xs:element ref="poi:published" minOccurs="0"/>
                    <xs:element ref="poi:publishedDate" minOccurs="0"/>
                    <xs:element ref="poi:rating" minOccurs="0" maxOccurs="2"/>
                    <xs:element ref="poi:sticky" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element ref="poi:vote" minOccurs="0" maxOccurs="1"/>
                    <xs:element ref="data:commentStatistic" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element ref="media:media" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element ref="media:mediaStatistic" minOccurs="0" maxOccurs="unbounded"/>                
                    <xs:element ref="poi:poidata" maxOccurs="unbounded"/>
                    <xs:element ref="poi:regions" minOccurs="0" maxOccurs="1"/>
                    <xs:element ref="data:category" minOccurs="1" maxOccurs="5"/>
                    <xs:element ref="poi:searchHints" minOccurs="0" maxOccurs="1"/>
                    <xs:element ref="poi:locationHints" minOccurs="0" maxOccurs="1"/>
                    <xs:element ref="poi:visitedType" minOccurs="0" maxOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="cluster">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:id" minOccurs="1"/>
                    <xs:element ref="poi:categoryId" minOccurs="1"/>
                    <xs:element ref="geo:coordinates" minOccurs="0"/>
                    <xs:element ref="poi:count" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="poidata">
            <xs:complexType>
                <xs:sequence>     
                    <xs:element ref="poi:type"/>
                    <xs:element ref="poi:title" minOccurs="0"/>
                    <xs:element ref="user:author" minOccurs="0"/>
                    <xs:element ref="poi:externalId" minOccurs="0"/>
                    <xs:element ref="data:language"/>
                    <xs:element ref="geo:coordinates" minOccurs="0"/>
                    <xs:element ref="data:address" minOccurs="0"/>
                    <xs:element ref="data:contact" minOccurs="0"/>
                    <xs:element ref="media:media" minOccurs="0"/>
                    <xs:element ref="poi:tags" minOccurs="0"/>
                    <xs:element ref="data:attributes" minOccurs="0"/>
                    <xs:element ref="poi:description" minOccurs="0"/>
                    <xs:element ref="poi:regionalSales" minOccurs="0"/>
                    <xs:element ref="poi:creationDate" minOccurs="0"/>
                    <xs:element ref="poi:lastUpdate" minOccurs="0"/>
                    <xs:element ref="poi:published" minOccurs="0"/>
                    <xs:element ref="data:visibility" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
        <xs:element name="regions">
            <xs:complexType>
                <xs:sequence>     
                    <xs:element ref="poi:region" maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="region">
            <xs:complexType>
                <xs:sequence>     
                    <xs:element ref="geo:id"/>
                    <xs:element ref="geo:title"/>
                    <xs:element ref="geo:regionType"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="rating">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:id" minOccurs="1"/>
                    <xs:element ref="poi:customerName" minOccurs="1"/>
                    <xs:element ref="poi:lastUpdate" minOccurs="1"/>
                    <xs:element ref="poi:authAvg" minOccurs="1"/>
                    <xs:element ref="poi:authCount" minOccurs="1"/>
                    <xs:element ref="poi:guestAvg" minOccurs="1"/>
                    <xs:element ref="poi:guestCount" minOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="sticky">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:from" minOccurs="1" />
                    <xs:element ref="poi:to" minOccurs="0" />
                    <xs:element ref="poi:licenseKey" minOccurs="1" />
                    <xs:element ref="poi:featuredType"  minOccurs="0" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
                
        <xs:element name="vote">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:value"/>
                    <xs:element ref="user:author" minOccurs="0"/>
                    <xs:element ref="user:poiOwner" />
                    <xs:element ref="poi:externalId" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        
        <!--  now the simple types -->
        
        <xs:element name="title">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
            
        <xs:element name="summary">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
            
        <xs:element name="description">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="creationDate">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="externalId">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="id" type="xs:string"/>
        
        <xs:element name="categoryId" type="xs:long"/>
            
        <xs:element name="customerId" type="xs:long"/>
            
        <xs:element name="count" type="xs:integer"/>
        
        <xs:element name="licenseKey">
            <xs:simpleType>
                <xs:restriction base="xs:int" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="published">
            <xs:simpleType>
                <xs:restriction base="xs:boolean" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="publishedDate">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
    
        <xs:element name="lastUpdate">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
                    
        <xs:element name="customerName">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>     
        
        <xs:element name="authAvg">
            <xs:simpleType>
                <xs:restriction base="xs:double" />
            </xs:simpleType>
        </xs:element> 
    
        <xs:element name="authCount">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element> 
        
        <xs:element name="guestAvg">
            <xs:simpleType>
                <xs:restriction base="xs:double" />
            </xs:simpleType>
        </xs:element> 
        
        <xs:element name="guestCount">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element> 
                        
        <xs:element name="from">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="to">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="tag">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:id"/>
                    <xs:element ref="poi:value"/>
                    <xs:element ref="data:language"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="tags">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:tag" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
            
        <xs:element name="type">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Contribution"/>
                    <xs:enumeration value="BasePoi"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="value">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="regionalSale">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="poi:description"/>
                <xs:element ref="poi:customerId"/>
            </xs:sequence>
        </xs:complexType>
        </xs:element>
        
        <xs:element name="featuredType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="DETAIL_INFO"/>
                    <xs:enumeration value="NO_DETAIL_INFO"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="regionalSales">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="poi:regionalSale" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
        <xs:element name="searchHints">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
            
        <xs:element name="locationHints">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
            
        <xs:element name="visitedType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="ALREADY_BEEN_THERE"/>
                    <xs:enumeration value="WOULD_LIKE_TO_VISIT"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
    </xs:schema>

poi_api_geo.xsd

poi_api_geo.xsd  Expand source

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    
    <!--
      The schema is specifying the namespace geo
       
      copyright: Copyright (c) 2010<br>
      company: Falk Content & Internet Solutions GmbH & Co. KG
        
      author: Jochen Weber
      created 12.03.2010
      -->
      
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://api.123poi.com/geo/" xmlns:geo="http://api.123poi.com/geo/"   elementFormDefault="qualified">
    
        <xs:element name="id" type="xs:string"/>
        
        <xs:element name="title" type="xs:string"/>
    
        <xs:element name="coordinates">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="geo:lat" minOccurs="0"/>
                    <xs:element ref="geo:lon" minOccurs="0"/>     
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="lat">
            <xs:simpleType>
                <xs:restriction base="xs:decimal" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="lon">
            <xs:simpleType>
                <xs:restriction base="xs:decimal" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="regionType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="ADMIN_WORLD"/>
                    <xs:enumeration value="ADMIN_CONTINENT"/>
                    <xs:enumeration value="ADMIN_COUNTRY"/>
                    <xs:enumeration value="ADMIN_STATE"/>
                    <xs:enumeration value="REGION"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        
    </xs:schema>

poi_api_data.xsd

poi_api_data.xsd  Expand source

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!--
      The schema is specifying the namespace data
      
      copyright: Copyright (c) 2010<br>
      company: Falk Content & Internet Solutions GmbH & Co. KG
      
      author: Jochen Weber
      created 12.03.2010
      -->
    
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:poi="http://api.123poi.com/poi/" targetNamespace="http://api.123poi.com/data/" elementFormDefault="qualified">
        <xs:import namespace="http://api.123poi.com/user/" schemaLocation="poi_api_user.xsd"/>
        <xs:import namespace="http://api.123poi.com/poi/" schemaLocation="poi_api_poi.xsd"/>
        <xs:element name="comment">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="data:creationDate" minOccurs="0"/>
                    <xs:element ref="data:lastUpdate" minOccurs="0"/>
                    <xs:element ref="data:subject"/>
                    <xs:element ref="data:text" minOccurs="0"/>
                    <xs:element ref="data:language"/>
                    <xs:element ref="data:refersTo" minOccurs="0"/>
                    <xs:element ref="user:author" minOccurs="0"/>
                    <xs:element ref="user:poiOwner"/>
                    <xs:element ref="data:externalPoiId"/>
                    <xs:element ref="data:externalId" minOccurs="0"/>
                    <xs:element ref="data:refersToExternalId" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="commentStatistic">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="data:language" minOccurs="1"/>
                    <xs:element ref="data:commentUrl" minOccurs="1"/>
                    <xs:element ref="data:commentCount" minOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
            
        <xs:element name="address">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="data:country" minOccurs="0"/>
                    <xs:element ref="data:isoCountryCode" minOccurs="0"/>
                    <xs:element ref="data:zip" minOccurs="0"/>
                    <xs:element ref="data:location" minOccurs="0"/>
                    <xs:element ref="data:subLocation" minOccurs="0"/>
                    <xs:element ref="data:street" minOccurs="0"/>
                    <xs:element ref="data:number" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="contact">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="data:phone" minOccurs="0"/>
                    <xs:element ref="data:fax" minOccurs="0"/>
                    <xs:element ref="data:web" minOccurs="0"/>
                    <xs:element ref="data:email" minOccurs="0"/>
                    <xs:element ref="data:person" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        <xs:element name="attributes">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="data:attribute" maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        <xs:element name="attribute">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="key" type="data:attributeKey"/>
                    <xs:element name="value" type="data:attributeValue"/>
                    <xs:element name="type" type="data:attributeType"/>
                    <xs:element name="searchable" type="data:attributeSearchable"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        <!-- now the simple types -->
        <xs:element name="visibility">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="PUBLIC"/>
                    <xs:enumeration value="PRIVATE"/>
                    <xs:enumeration value="FRIEND"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        <xs:element name="language">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="all"/>
                    <xs:enumeration value="de"/>
                    <xs:enumeration value="en"/>
                    <xs:enumeration value="fr"/>
                    <xs:enumeration value="es"/>
                    <xs:enumeration value="it"/>
                    <xs:enumeration value="nl"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        <xs:element name="country">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="isoCountryCode">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="AW"/>
                    <xs:enumeration value="AF"/>
                    <xs:enumeration value="AO"/>
                    <xs:enumeration value="AI"/>
                    <xs:enumeration value="AX"/>
                    <xs:enumeration value="AL"/>
                    <xs:enumeration value="AD"/>
                    <xs:enumeration value="AN"/>
                    <xs:enumeration value="AE"/>
                    <xs:enumeration value="AR"/>
                    <xs:enumeration value="AM"/>
                    <xs:enumeration value="AS"/>
                    <xs:enumeration value="AG"/>
                    <xs:enumeration value="AU"/>
                    <xs:enumeration value="AT"/>
                    <xs:enumeration value="AZ"/>
                    <xs:enumeration value="BI"/>
                    <xs:enumeration value="BE"/>
                    <xs:enumeration value="BJ"/>
                    <xs:enumeration value="BF"/>
                    <xs:enumeration value="BD"/>
                    <xs:enumeration value="BG"/>
                    <xs:enumeration value="BH"/>
                    <xs:enumeration value="BS"/>
                    <xs:enumeration value="BA"/>
                    <xs:enumeration value="BY"/>
                    <xs:enumeration value="BZ"/>
                    <xs:enumeration value="BM"/>
                    <xs:enumeration value="BO"/>
                    <xs:enumeration value="BR"/>
                    <xs:enumeration value="BB"/>
                    <xs:enumeration value="BN"/>
                    <xs:enumeration value="BT"/>
                    <xs:enumeration value="BW"/>
                    <xs:enumeration value="CF"/>
                    <xs:enumeration value="CA"/>
                    <xs:enumeration value="CC"/>
                    <xs:enumeration value="CH"/>
                    <xs:enumeration value="CL"/>
                    <xs:enumeration value="CN"/>
                    <xs:enumeration value="CI"/>
                    <xs:enumeration value="CM"/>
                    <xs:enumeration value="CD"/>
                    <xs:enumeration value="CG"/>
                    <xs:enumeration value="CK"/>
                    <xs:enumeration value="CO"/>
                    <xs:enumeration value="KM"/>
                    <xs:enumeration value="CV"/>
                    <xs:enumeration value="CR"/>
                    <xs:enumeration value="CU"/>
                    <xs:enumeration value="CX"/>
                    <xs:enumeration value="CY"/>
                    <xs:enumeration value="CZ"/>
                    <xs:enumeration value="DE"/>
                    <xs:enumeration value="DJ"/>
                    <xs:enumeration value="DM"/>
                    <xs:enumeration value="DK"/>
                    <xs:enumeration value="DO"/>
                    <xs:enumeration value="DZ"/>
                    <xs:enumeration value="EC"/>
                    <xs:enumeration value="EG"/>
                    <xs:enumeration value="ER"/>
                    <xs:enumeration value="ES"/>
                    <xs:enumeration value="EE"/>
                    <xs:enumeration value="ET"/>
                    <xs:enumeration value="FI"/>
                    <xs:enumeration value="FJ"/>
                    <xs:enumeration value="FR"/>
                    <xs:enumeration value="FO"/>
                    <xs:enumeration value="FM"/>
                    <xs:enumeration value="GA"/>
                    <xs:enumeration value="GB"/>
                    <xs:enumeration value="GE"/>
                    <xs:enumeration value="GH"/>
                    <xs:enumeration value="GI"/>
                    <xs:enumeration value="GN"/>
                    <xs:enumeration value="GM"/>
                    <xs:enumeration value="GW"/>
                    <xs:enumeration value="GQ"/>
                    <xs:enumeration value="GR"/>
                    <xs:enumeration value="GD"/>
                    <xs:enumeration value="GL"/>
                    <xs:enumeration value="GT"/>
                    <xs:enumeration value="GY"/>
                    <xs:enumeration value="HK"/>
                    <xs:enumeration value="HN"/>
                    <xs:enumeration value="HR"/>
                    <xs:enumeration value="HT"/>
                    <xs:enumeration value="HU"/>
                    <xs:enumeration value="ID"/>
                    <xs:enumeration value="IN"/>
                    <xs:enumeration value="IE"/>
                    <xs:enumeration value="IR"/>
                    <xs:enumeration value="IQ"/>
                    <xs:enumeration value="IS"/>
                    <xs:enumeration value="IL"/>
                    <xs:enumeration value="IT"/>
                    <xs:enumeration value="JM"/>
                    <xs:enumeration value="JO"/>
                    <xs:enumeration value="JP"/>
                    <xs:enumeration value="KZ"/>
                    <xs:enumeration value="KE"/>
                    <xs:enumeration value="KG"/>
                    <xs:enumeration value="KH"/>
                    <xs:enumeration value="KI"/>
                    <xs:enumeration value="KN"/>
                    <xs:enumeration value="KR"/>
                    <xs:enumeration value="KW"/>
                    <xs:enumeration value="LA"/>
                    <xs:enumeration value="LB"/>
                    <xs:enumeration value="LR"/>
                    <xs:enumeration value="LY"/>
                    <xs:enumeration value="LC"/>
                    <xs:enumeration value="LI"/>
                    <xs:enumeration value="LK"/>
                    <xs:enumeration value="LS"/>
                    <xs:enumeration value="LT"/>
                    <xs:enumeration value="LU"/>
                    <xs:enumeration value="LV"/>
                    <xs:enumeration value="MO"/>
                    <xs:enumeration value="MA"/>
                    <xs:enumeration value="MC"/>
                    <xs:enumeration value="MD"/>
                    <xs:enumeration value="MG"/>
                    <xs:enumeration value="MV"/>
                    <xs:enumeration value="MX"/>
                    <xs:enumeration value="MH"/>
                    <xs:enumeration value="MK"/>
                    <xs:enumeration value="ML"/>
                    <xs:enumeration value="MT"/>
                    <xs:enumeration value="MM"/>
                    <xs:enumeration value="ME"/>
                    <xs:enumeration value="MN"/>
                    <xs:enumeration value="MZ"/>
                    <xs:enumeration value="MR"/>
                    <xs:enumeration value="MU"/>
                    <xs:enumeration value="MW"/>
                    <xs:enumeration value="MY"/>
                    <xs:enumeration value="NA"/>
                    <xs:enumeration value="NE"/>
                    <xs:enumeration value="NG"/>
                    <xs:enumeration value="NI"/>
                    <xs:enumeration value="NL"/>
                    <xs:enumeration value="NO"/>
                    <xs:enumeration value="NP"/>
                    <xs:enumeration value="NR"/>
                    <xs:enumeration value="NZ"/>
                    <xs:enumeration value="OM"/>
                    <xs:enumeration value="PK"/>
                    <xs:enumeration value="PA"/>
                    <xs:enumeration value="PE"/>
                    <xs:enumeration value="PH"/>
                    <xs:enumeration value="PW"/>
                    <xs:enumeration value="PG"/>
                    <xs:enumeration value="PL"/>
                    <xs:enumeration value="PR"/>
                    <xs:enumeration value="KP"/>
                    <xs:enumeration value="PT"/>
                    <xs:enumeration value="PY"/>
                    <xs:enumeration value="QA"/>
                    <xs:enumeration value="RO"/>
                    <xs:enumeration value="RU"/>
                    <xs:enumeration value="RW"/>
                    <xs:enumeration value="SA"/>
                    <xs:enumeration value="SD"/>
                    <xs:enumeration value="SN"/>
                    <xs:enumeration value="SG"/>
                    <xs:enumeration value="SB"/>
                    <xs:enumeration value="SL"/>
                    <xs:enumeration value="SV"/>
                    <xs:enumeration value="SM"/>
                    <xs:enumeration value="SO"/>
                    <xs:enumeration value="RS"/>
                    <xs:enumeration value="ST"/>
                    <xs:enumeration value="SR"/>
                    <xs:enumeration value="SK"/>
                    <xs:enumeration value="SI"/>
                    <xs:enumeration value="SE"/>
                    <xs:enumeration value="SZ"/>
                    <xs:enumeration value="SC"/>
                    <xs:enumeration value="SY"/>
                    <xs:enumeration value="TD"/>
                    <xs:enumeration value="TG"/>
                    <xs:enumeration value="TH"/>
                    <xs:enumeration value="TJ"/>
                    <xs:enumeration value="TM"/>
                    <xs:enumeration value="TL"/>
                    <xs:enumeration value="TO"/>
                    <xs:enumeration value="TT"/>
                    <xs:enumeration value="TN"/>
                    <xs:enumeration value="TR"/>
                    <xs:enumeration value="TV"/>
                    <xs:enumeration value="TW"/>
                    <xs:enumeration value="TZ"/>
                    <xs:enumeration value="UG"/>
                    <xs:enumeration value="UA"/>
                    <xs:enumeration value="UY"/>
                    <xs:enumeration value="US"/>
                    <xs:enumeration value="UZ"/>
                    <xs:enumeration value="VA"/>
                    <xs:enumeration value="VC"/>
                    <xs:enumeration value="VE"/>
                    <xs:enumeration value="VI"/>
                    <xs:enumeration value="VN"/>
                    <xs:enumeration value="VU"/>
                    <xs:enumeration value="WS"/>
                    <xs:enumeration value="YE"/>
                    <xs:enumeration value="ZA"/>
                    <xs:enumeration value="ZM"/>
                    <xs:enumeration value="ZW"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        <xs:element name="creationDate">
            <xs:simpleType>
                <xs:restriction base="xs:long"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="lastUpdate">
            <xs:simpleType>
                <xs:restriction base="xs:long"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="subject">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="text">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="refersTo">
            <xs:simpleType>
                <xs:restriction base="xs:long"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="email">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="fax">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="number">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="location">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="subLocation">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="phone">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="street">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="web">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="person">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="zip">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:simpleType name="attributeType">
            <xs:restriction base="xs:string"/>
        </xs:simpleType>
        <xs:simpleType name="attributeSearchable">
            <xs:restriction base="xs:boolean"/>
        </xs:simpleType>
        <xs:simpleType name="attributeValue">
            <xs:restriction base="xs:string"/>
        </xs:simpleType>
        <xs:simpleType name="attributeKey">
            <xs:restriction base="xs:string"/>
        </xs:simpleType>
        <xs:element name="externalPoiId">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="externalId">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        <xs:element name="refersToExternalId">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="commentUrl">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="commentCount">
            <xs:simpleType>
                <xs:restriction base="xs:string"/>
            </xs:simpleType>
        </xs:element> 
        
    </xs:schema>

poi_api_media.xsd

poi_api_media.xsd  Expand source

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    
    <!--
      The schema is specifying the namespace media
      
      copyright: Copyright (c) 2010<br>
      company: Falk Content & Internet Solutions GmbH & Co. KG
      
      author: Jochen Weber
      created 12.03.2010
      -->
    
    
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://api.123poi.com/media/" xmlns:media="http://api.123poi.com/media/"  xmlns:user="http://api.123poi.com/user/" xmlns:data="http://api.123poi.com/data/"  elementFormDefault="qualified">
    
        <xs:import namespace="http://api.123poi.com/user/" schemaLocation="poi_api_user.xsd"/>
        <xs:import namespace="http://api.123poi.com/data/" schemaLocation="poi_api_data.xsd"/>
        
        <xs:element name="media">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="media:id" minOccurs="0"/>
                    <xs:element ref="user:author" minOccurs="0"/>
                    <xs:element ref="media:url" minOccurs="0"/>
                    <xs:element ref="media:exif" minOccurs="0"/>
                    <xs:element ref="data:language" minOccurs="0"/>
                    <xs:element ref="media:title" minOccurs="0"/>
                    <xs:element ref="media:description" minOccurs="0"/>
                    <xs:element ref="media:filename"/>
                                    <xs:element ref="media:copyright" minOccurs=0/">
                    <xs:element ref="media:type"/>
                    <xs:element ref="data:visibility"/>
                                    <xs:element ref="media:onlyVisibleForCustomerId" minOccurs="0"/>
                    <xs:element ref="media:sort" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="mediaStatistic">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="data:language" minOccurs="1"/>
                    <xs:element ref="media:imageUrl" minOccurs="0"/>
                    <xs:element ref="media:imageCount" minOccurs="1"/>
                    <xs:element ref="media:videoUrl" minOccurs="0"/>
                    <xs:element ref="media:videoCount" minOccurs="1"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
                    
        <!-- now the simple types -->
        
        <xs:element name="imageUrl">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="imageCount">
            <xs:simpleType>
                <xs:restriction base="xs:integer" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="videoUrl">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="videoCount">
            <xs:simpleType>
                <xs:restriction base="xs:integer" />
            </xs:simpleType>
        </xs:element>
        
        
        <xs:element name="description">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="exif">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="filename">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="id" type="xs:string" />
        
    
        
        <xs:element name="title">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="type">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="photo"/>
                    <xs:enumeration value="video"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="url">
            <xs:simpleType>
                <xs:restriction base="xs:anyURI" />
            </xs:simpleType>
        </xs:element>
            
            <xs:element name="onlyVisibleForCustomerId">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="sort">
            <xs:simpleType>
                <xs:restriction base="xs:integer" />
            </xs:simpleType>
        </xs:element>
            
    </xs:schema>

poi_api_user.xsd

poi_api_user.xsd  Expand source

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!--
      The schema is specifying the namespace user
      
      copyright: Copyright (c) 2010
      company: Falk Content & Internet Solutions GmbH & Co. KG
       
      
      author: Jochen Weber
      created 12.03.2010
      -->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:user="http://api.123poi.com/user/" targetNamespace="http://api.123poi.com/user/" elementFormDefault="qualified">
    
            <xs:import namespace="http://api.123poi.com/logo/" schemaLocation="poi_api_logo.xsd"/>
    
        <xs:element name="poiOwner">
            <xs:complexType>
                    <xs:sequence>
                        <xs:element ref="user:name"/>
                    </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="author">
            <xs:complexType>
                    <xs:sequence>
                        <xs:element ref="user:id" minOccurs="1"/>
                        <xs:element ref="user:name" minOccurs="0"/>
                    </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="user">
            <xs:complexType>
                <xs:sequence>
                        <xs:element ref="user:id" minOccurs="1"/>
                        <xs:element ref="user:name" minOccurs="0"/>
                        <xs:element ref="user:roles" minOccurs="0"/>
                        <xs:element ref="user:providedChannel" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="id" type="xs:string"/>
        
        <xs:element name="name">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="role">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="user:id"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="providedChannel">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="user:id" minOccurs="0"/>
                    <xs:element ref="user:name" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="roles">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="user:role" maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
        <xs:element name="providedChannelId" type="xs:int"/>
    
            <xs:element name="logos">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="user:logo" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
    </xs:schema>

poi_api_logo.xsd

poi_api_logo.xsd  Expand source

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    
    <!--
      The schema is specifying the namespace geo
       
      copyright: Copyright (c) 2010<br>
      company: Falk Content & Internet Solutions GmbH & Co. KG
        
      author: Jochen Weber
      created 12.03.2010
      -->
      
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://api.123poi.com/logo/" xmlns:logo="http://api.123poi.com/logo/"   elementFormDefault="qualified">
    
        <xs:element name="id" type="xs:string"/>
        
        <xs:element name="title" type="xs:string"/>
    
        <xs:element name="logos">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="user:logo" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="logo">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="logo:name" minOccurs="0"/>
                    <xs:element ref="logo:url" minOccurs="0"/>
                    <xs:element ref="logo:type" minOccurs="0"/>       
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="name">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="url">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="type">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="LOGO"/>
                    <xs:enumeration value="ICON"/>
                    <xs:enumeration value="ICON_BLACK_WHITE"/>
                    <xs:enumeration value="LOGO_THUMBNAIL"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        
    </xs:schema>

poi_api_destination.xsd

poi_api_destination.xsd  Expand source

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <!--
            W3C Schema generated by XMLSpy v2006 sp2 U (http://www.altova.com)
        -->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://api.123poi.com/destination/" xmlns:destination="http://api.123poi.com/destination/"
        xmlns:poi="http://api.123poi.com/poi/" xmlns:data="http://api.123poi.com/data/"
        xmlns:geo="http://api.123poi.com/geo/" elementFormDefault="qualified">
    
        <xs:import namespace="http://api.123poi.com/data/"
            schemaLocation="poi_api_data.xsd" />
        <xs:import namespace="http://api.123poi.com/poi/"
            schemaLocation="poi_api_poi.xsd" />
        <xs:import namespace="http://api.123poi.com/geo/"
            schemaLocation="poi_api_geo.xsd" />
    
        <xs:element name="destinationName">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="data:language" minOccurs="1" />
                    <xs:element ref="destination:name" minOccurs="1" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
        <xs:element name="travelInfoPoiRelation">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="destination:basepoiId" minOccurs="1" />
                    <xs:element ref="destination:travelInfoPoiRelationType" minOccurs="1" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
     
        <xs:element name="destinationNames">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="destination:destinationName" minOccurs="1"
                        maxOccurs="unbounded" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
        <xs:element name="travelInfoPoiRelations">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="destination:travelInfoPoiRelation" minOccurs="1"
                        maxOccurs="unbounded" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="destinationId">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="basepoiId">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="sourceDestinationId">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="targetDestinationId">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
    
        <xs:element name="destinationParentId">
            <xs:simpleType>
                <xs:restriction base="xs:long" />
            </xs:simpleType>
        </xs:element>
    
        <xs:element name="destinationType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="ADMIN_WORLD" />
                    <xs:enumeration value="ADMIN_CONTINENT" />
                    <xs:enumeration value="ADMIN_COUNTRY" />
                    <xs:enumeration value="ADMIN_REGION" />
                    <xs:enumeration value="ADMIN_CITY" />
                    <xs:enumeration value="TRAVEL_REGION" />
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="destinationRelation">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="destination:sourceDestinationId"/>
                    <xs:element ref="destination:destinationRelationType"/>
                    <xs:element ref="destination:targetDestinationId"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
        <xs:element name="destinationRelationType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="INTERESTING_FOR" />
                    <xs:enumeration value="CONTAINED_IN" />
                </xs:restriction>
            </xs:simpleType>
        </xs:element>    
        
        <xs:element name="travelInfoPoiRelationType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="CONTAINED_IN" />
                    <xs:enumeration value="HIGHLIGHT" />
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        
        <xs:element name="book">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="destination:isbn" minOccurs="1" />
                    <xs:element ref="destination:brand" minOccurs="1" />
                    <xs:element ref="destination:series" minOccurs="1" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    
        <xs:element name="isbn">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
    
        <xs:element name="brand">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
    
        <xs:element name="series">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
    
        <xs:element name="name">
            <xs:simpleType>
                <xs:restriction base="xs:string" />
            </xs:simpleType>
        </xs:element>
    
        <xs:element name="travelInfo">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="destination:id" minOccurs="1" />
                    <xs:element ref="destination:destinationId" minOccurs="1" />
                    <xs:element ref="destination:destinationParentId" />
                    <xs:element ref="destination:destinationNames" minOccurs="1" />
                    <xs:element ref="destination:destinationType" minOccurs="1" />
                    <xs:element ref="geo:boundingBox" minOccurs="0"/>
                    <xs:element ref="geo:coordinates" minOccurs="0"/>
                    <xs:element ref="geo:polyline" minOccurs="0"/>
                    <xs:element ref="destination:name" minOccurs="0"/>
                    <xs:element ref="destination:book" minOccurs="0"/>
                    <xs:element ref="destination:travelInfoPoiRelations" minOccurs="0"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="travelInfoToDelete">
            <xs:complexType>
                <xs:sequence>
                    <xs:element ref="destination:destinationId"/>
                    <xs:element ref="destination:book"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
        
        <xs:element name="visitedType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="ALREADY_BEEN_THERE"/>
                    <xs:enumeration value="WOULD_LIKE_TO_VISIT"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
    </xs:schema>